dej*_*now 9 java applescript osx-mountain-lion
自从我升级到Mountain Lion后,我无法通过Java ScriptEngineManager运行AppleScript代码.
Apple页面(链接)上的示例代码为engine对象返回null .
public static void main(String[] args) throws Throwable {
String script = "say \"Hello from Java\"";
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("AppleScript");
engine.eval(script);
}
Run Code Online (Sandbox Code Playgroud)
有人知道任何变通方法吗?
我通过在我的 jar 的文件夹“META-INF/services”中添加一个名为“javax.script.ScriptEngineFactory”的文件来使其工作,如 ytw 所示。
我还必须更改一些代码:语言似乎不再是“AppleScript”而是“AppleScriptEngine”。所以这应该有效:
public static void main(String[] args) throws Throwable {
String script = "say \"Hello from Java\"";
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("AppleScriptEngine");
engine.eval(script);
}
Run Code Online (Sandbox Code Playgroud)
至少这可以在我的带有 JDK 1.7.45 的 MacOS X Mavericks 上运行...
| 归档时间: |
|
| 查看次数: |
2743 次 |
| 最近记录: |