2011-12-28 1 views
5

Java에서 실행하고 싶은 AppleScript를 몇 개 가지고 있습니다. 그 두가 보였다 Java에서 AppleScript를 실행하는 가장 좋은 방법

  • (Desktop.getDesktop().open("name.app") 사용) 응용 프로그램으로 애플 스크립트를 저장 및 자바에서 응용 프로그램을 실행

  • (((new ScriptEngineManager()).getEngineByName("AppleScript")).eval(scriptString)) 사용) 애플 스크립트의 ScriptEngine를 사용하여 문자열로 애플 스크립트를 실행 : I는 다음과 같은 몇 가지 옵션이 있습니다 나에게 가장 좋은 옵션과 궁금 해서요
  • 더 좋은 방법이 있습니까?
  • 만약! (1)이 두 가지 방법 중에서 어느 것이 가장 좋습니까? (Speedwise)
  • 만약! (1..) 내 방법을 향상시킬 방법이 있습니까?
  • 답변

    1

    나는 2와 함께 갈 것이라고 확신하지 못한다. 매우 큰 망치처럼 보인다.

    다른 구식 해결책은 exec 'osascript'명령이었습니다.

    필자가 알고있는 한 스크립트 엔진 지원을 사용하는 것이 좋습니다.

    1

    첫 번째 옵션은 나에게 들리지만 어떤 이유로 외부 스크립트로 실행하려면 셸 스크립트를 실행하는 것과 같은 방법으로 osascript를 실행하는 것이 좋습니다.

    1

    Applescript의 작동 방식 때문에 옵션 1이 최선의 방법 일 수 있습니다.

    Applescript에는 일반 텍스트 AppleScript와 컴파일 된 Applescript의 두 가지 유형이 있습니다. 준수 AppleScript는 Applescript 컴파일러에 의해 바이트 코드로 (본질적으로) 변환되었습니다.

    따라서 응용 프로그램에서 허용하는 경우 모든 AppleScripts 을 한 번으로 컴파일 한 다음 나중에 호출하는 것이 좋습니다. 이렇게하면 시간을 절약 할 수 있습니다 (초?).

    (난 그냥 eval 명령에 추가하여, 자바 클래스는 단지 AppleScript를 컴파일 할 수있는 방법을 가지고 있다고 여기 추측하고있어.) 컴파일 단계에서

    는 AppleScript를 또한 모든 응용 프로그램을 확인하려고 스크립트 사용 Applescript가 "죄송합니다. SurfWriter를 찾을 수 없으며 앱을 가르쳐주세요."라고 말할 수있는 단계에 있다고 생각합니다. 이러한 종류의 사용자 경험은 사용자가 가능한 한 최소한하고 싶은 것 중 하나입니다.)