2011-12-28 25 views
5

私はJavaから実行したいAppleScriptをいくつか持っています。これら二つが見えた JavaからAppleScriptを実行する最良の方法

  • Desktop.getDesktop().open("name.app")を使用して)アプリケーションとしてAppleScriptを保存し、Javaからアプリを実行している

  • ((new ScriptEngineManager()).getEngineByName("AppleScript")).eval(scriptString))を使用して)するAppleScriptたScriptEngineを使用して文字列としてAppleScriptを実行:私はいくつかのオプションがあります私にとって最高のオプションと私は不思議だった
  • 良い方法はありますか?
  • の場合!(1)どちらの方法が最適ですか? (スピードワイド)
  • もし!(1。)私の方法を改善する方法はありますか?
  • 答えて

    1

    私は2と一緒に行くと確信していますが、それは非常に大きなハンマーのようです。

    他の古いスタイルの解決策は、exec 'osascript'コマンドです。

    私が知る限り、スクリプトエンジンサポートを使用することが望ましい方法です。

    1

    最初のオプションは私には聞こえますが、何らかの理由で外部スクリプトとして実行したい場合は、シェルスクリプトを実行するのと同じ方法でosascriptを実行することを検討できます。

    1

    私はApplescriptのしくみのために、オプション1があなたの最善の策かもしれないと思います。

    Applescriptには、プレーンテキストApplescriptとコンパイル済みApplescriptの2種類があります。準拠したApplescriptは、Applescriptコンパイラによってバイトコードに(本質的に)変換されています。

    したがって、アプリケーションで許可されている場合は、を一度にコンパイルしてから、後で呼び出すことを検討してください。これにより、時間を節約できます(秒?)。

    (私はちょうどevalコマンドに加えて、JavaクラスがちょうどAppleScriptをコンパイルする方法を持っている、ことここに推測している。)コンパイルの段階で

    は、AppleScriptはまた、すべてのアプリケーションを識別しようとしますスクリプトが使用します。 Applescriptが「申し訳ありませんが、私はSurfWriterを見つけることができず、私にアプリケーションを指摘してください」と言うかもしれない段階であると私は信じています。このようなユーザーエクスペリエンスは、ユーザーができるだけ欲しくないことの1つです)

    関連する問題