簡體   English   中英

Java Applet的某些AppleScript不再適用於Mavericks

[英]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文件中:

  • 可信庫:true
  • 應用名稱:TestingAppleScript
  • 權限:所有權限
  • 代碼庫:*

當我從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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM