[英]Some AppleScript from Java Applet no longer work with Mavericks
我對最新的MacOS X版本有疑問:Mavericks。 我曾經從Java小程序調用AppleScript,而在MacOS X 10.7.5上一切正常。 去Mavericks時,我必須進行一些更改以使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文件中:
當我從Java命令行運行測試類時,在MacOS X 10.7.5和10.9.1上都可以找到Excel。
當我從Safari運行測試Applet時,仍在MacOS X 10.7.5上找到Excel,但在10.9.1上卻收到錯誤消息:“ Finder出現錯誤:應用程序未運行”。
我看到此錯誤可能會導致腳本執行得太快,這就是為什么我在腳本中添加了5秒的延遲,但並不能解決問題。
由於我沒有其他嘗試可以嘗試,因此我希望有人能夠提供幫助。
我終於找到了阻止的東西:Safari中有一個安全選項,表明該Java插件可以在給定服務器上以不安全模式運行。 激活這個解決了我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.