2013-03-13 1 views
0

자바 프로젝트를 만들었습니다. 응용 프로그램을 실행할 때 아무런 문제없이 예외없이 작동합니다. 내가 개발을 위해 사용하는 컴퓨터에서 작동하도록 항아리를 만들었습니다. 다른 PC에서 시도했지만, CMD에서 java-jar program.jar을 실행하면 작동합니다. 내 jar를 사용하여 jarBundler를 사용하여 응용 프로그램 mac (. App)을 만들려고했습니다. 문제는 응용 프로그램을 실행할 때 작동하지만 멈추지 않는다는 것입니다. 사실 내 버튼 중 하나는 스크립트를 실행하고 실행이 끝나면 바 실행이 중단됩니다. 맥 응용 프로그램은 스크립트를 시작하지 않습니다. 터미널에서 스크립트를 실행하면 jar와 함께 작동합니다. 나는 그 문제가 무엇인지 어떻게 발견 할 수 있는지 모른다.항아리 사용 방법 Mac 응용 프로그램을 만들려면 어떻게해야합니까?

답변

0

로깅 (디버그) 메시지를 코드에 통합하십시오 (특히 예상대로 실행을 완료하지 않는 방법). 메소드 실행에 중요한 모든 객체의 상태를 추적하고 다른 환경에서 결과를 비교합니다.

여러 스레드를 사용하는 경우 로깅을 추가하여 상태를 추적하고 예상대로 끝나고 교착 상태가 없는지 확인하십시오. 환경의 차이 (다른 운영체제와 콘솔/UI 실행)에 관한

확인 모든 자바 특정 환경 변수, 즉, JAVA_OPTS 등 을 그것은 가능 JAVA_HOME 될 것이다 (하지만 가능성은 희박) 당신의 UI와 콘솔 사용자 다른 환경을 사용하고 있습니다. 변수.

+0

나는 이미 내 스크립트의 실행 결과를 검색하고 내가 로그로 사용하지만, 스크립트가 완료되지 않고 종료 코드를하지 않지만 , 로그 파일이 비어 있습니다. 나는 내 전화 코드를 사용하여 APK 안드로이드 폰을 설치했다. 전화로 설치 과정을 점검했을 때, 애플리케이션은 이미 설치되어 있지만 스크립트는 실행되지만 멈추지는 않는다. – user2043602

+0

어떻게 사용되는 모든 스레드를 확인할 수 있습니까? – user2043602

+0

Mac과 콘솔에 대해 언급했지만, 이제 Android 폰이 있습니다. 혼란 스럽습니다. 어쩌면 WHILE 루프에 로그인하여 멈추는 지 확인하십시오. 이것을 전화로 실행하면 모든 스레드에 대해 Eclipse에서 DDMS를 확인할 수 있습니다. 그렇지 않으면 jconsole을 살펴볼 수 있습니다. – hovanessyan

-1

정지를위한 스크립트가 Mac에서 작동하지 않는 경우 두 플랫폼 모두에서 작동 할 수 있으므로 코드를 변경하고 스크립트를 닫을 수 있습니다.

경우에 따라 다른 스크립트를 작성하여 Mac 및 다른 OS에 대해 다른 스크립트를 작성하는 것보다 우선 OS별로 코드를 실행하여 코드를 실행하는 것보다 OS를 식별하는 코드를 작성하십시오.

알고 OS 등 :

public static boolean isWindows() { 

     String os = System.getProperty("os.name").toLowerCase(); 
     // windows 
     return (os.indexOf("win") >= 0); 

    } 

    public static boolean isMac() { 

     String os = System.getProperty("os.name").toLowerCase(); 
     // Mac 
     return (os.indexOf("mac") >= 0); 

    } 

유 닫는 스크립트에 대한 clearify 수 있습니다. 이 helpfull합니다 ..

--Om--