我在从 Java 应用程序中启动 JavaScript(-file)时遇到了一点问题。如果我将应用程序放入 sample.js,我知道应用程序可以通过一个简单的脚本启动。实际调用如下:
new ActiveXObject("MyApp.Application");
如前所述,通过双击脚本文件启动没有问题,但如果我通过 javax.script 包尝试它:
// create a script engine manager
ScriptEngineManager factory = new ScriptEngineManager();
// create a JavaScript engine
ScriptEngine engine = factory.getEngineByName("JavaScript");
// evaluate JavaScript code from String
engine.eval("new ActiveXObject(\"MyApp.Application\");");
如果得到以下异常:
Exception in thread "main" javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "ActiveXObject" is not defined. (<Unknown source>#1) in <Unknown source> at line number 1
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:110)
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:124)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:247)
at com.ime.actia.testing.ScriptTest.main(ScriptTest.java:13)
Microsoft Windows Script 安装在实际版本中。我知道,ActiveX 是特定于 IE 的,但无论如何我都不想在 IE 中/通过 IE 启动应用程序。有人知道如何启动程序吗?
感谢大家!^^
编辑:现在感谢您的回答!由于我无法从 JVM 中获取 ActiveXObject,是否有另一种方法可以通过 JScript 启动外部应用程序?我不在乎,如果它是一个 ActiveXObject。