一些来自JavaApplet的AppleScript不再适用于Mavericks
我对最新的MacOSX版本有一个问题:Mavericks。我曾经从Java小程序调用AppleScript,在MacOS X 10.7.5上一切都很好。对于Mavericks,我必须做一些更改才能再次访问一些来自JavaApplet的AppleScript不再适用于Mavericks,java,applet,applescript,osx-mavericks,Java,Applet,Applescript,Osx Mavericks,我对最新的MacOSX版本有一个问题:Mavericks。我曾经从Java小程序调用AppleScript,在MacOS X 10.7.5上一切都很好。对于Mavericks,我必须做一些更改才能再次访问AppleScriptEngine,但即使如此,我正在运行的脚本仍返回一个错误 以下是我尝试过的: 我的小代码: private static final String SCRIPT = "try\n" + " tell application \"Fin
AppleScriptEngine
,但即使如此,我正在运行的脚本仍返回一个错误
以下是我尝试过的:
我的小代码:
private static final String SCRIPT =
"try\n"
+ " tell application \"Finder\"\n"
+ " delay 5\n"
+ " if exists application file id \"XCEL\" then return \"Excel found\"\n"
+ " end tell\n"
+ "on error errStr number errorNumber\n"
+ " error errStr number errorNumber\n"
+ "end try";
static void checkAppleScript() {
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine appleScript = mgr.getEngineByName("AppleScript");
if (appleScript != null) {
JOptionPane.showMessageDialog(null, "AppleScript found: " + appleScript);
try {
JOptionPane.showMessageDialog(null, appleScript.eval(SCRIPT));
} catch (ScriptException se) {
JOptionPane.showMessageDialog(null, se.getMessage());
}
} else {
JOptionPane.showMessageDialog(null, "NO AppleScript engine");
}
}
我把它放在一个签名jar文件中,清单中有以下属性:
- 可信库:true
- 应用程序名称:TestingAppleScript
- 权限:所有权限
- 代码库:*
由于我没有更多的想法可以尝试,我希望有人能够提供帮助。我终于找到了阻碍因素:Safari中有一个安全选项,表明Java插件可以在给定服务器的不安全模式下运行。激活这个解决了我的问题。谢谢你的建议,SSCCE补充道(普通的jar,也嵌入了小程序,但清单中有一个main和一个main类)。它可以用“java-jar”命令行运行。啊,好的,很抱歉误解了。顺便说一下,如果有人想尝试,他/她只需复制/粘贴我指示的代码,并通过调用checkAppleScript()方法编写自己的主方法。无论如何,我终于解决了我的问题,我会把它作为我问题的答案:)“我终于解决了我的问题”幸福期待你的回答。