2012-04-03 5 views
4

Eclipse에서 실행하면 프로그램이 완벽하게 작동하지만 실행 가능한 병에 패키지하고 명령 줄에서 실행하면 훨씬 느리게 실행됩니다 (거의 5 배 느린). 항아리를 실행하는 동안 심지어 -vmargs를 설정합니다. java -Xms40m -Xmx512m -jar jarFile.jar 내 컴퓨터에 이전 버전의 Java가 없습니다. 나는 여기서 내가 누락 된 것을 이해할 수 없다. eclipse는 동일한 버전의 java 및 동일한 VM 인수를 사용하는 동안 어떻게 동일한 프로그램을 더 빨리 실행할 수 있습니까? 어떤 도움을 주시면 감사하겠습니다.실행 가능한 jar가 Eclipse보다 느리게 실행 중입니다.

감사합니다, 당신은 가장 가능성은 System.out/System.err에 (직접 또는 로깅을 통해)에 많이 인쇄

+0

jar는 실행하는 동안 압축을 풀어야하기 때문에 약간 느리지 만 5 배 느린 것은 매우 길다. 어떤 크기의 jar 파일이 있습니까? 어쩌면 jar 파일에 필요한 자원이 없을 수도 있습니다. – MOST2K2

+1

내 jar 파일의 크기가 5.5mb입니다. – karthik

답변

1

KARTHIK. Windows 터미널 에뮬레이터는 출력물을 렌더링해야하며 Eclipse보다 느립니다.

모든 출력을 파일 또는 NUL로 리디렉션하고 다시 측정하십시오.

+0

System.out 문은 사용하고 있지 않지만 로그 파일이 크기 때문에 그 이유 중 하나라고 생각하십니까? 아마도 – karthik

+0

. Oracle JDK에서 jvisualvm으로 프로필을 작성하고 시간이 어디인지 확인하십시오. –

+0

내 System.out을 제거해주었습니다.> 100에서 <30까지 – CGFoX

6

우리는 비슷한 문제가 있었지만 이클립스에서 실행 가능한 jar 파일로 Java 코드를 내보내는 동안 "생성 된 jar에 패키지 필요 라이브러리"옵션을 선택했습니다. 이것은 참조 된 모든 라이브러리를 실행 가능한 jar 파일에 jar 파일로 저장하는 것이 었습니다.이 jar 파일은 모든 실행 중에 unpackaged되었을 가능성이 있습니다. 대신 우리는 실행 가능한 jar 파일을 생성하는 동안 "생성 된 jar에 필요한 라이브러리 추출"옵션을 사용했고 jar의 실행 속도가 빨라졌습니다. 이클립스 내에서 코드를 실행하는 동안과 거의 동일합니다.

+0

어제 몇 시간을 보냈지 만, 어떤 사람들은 이미 이렇게 게시했습니다 : http://stackoverflow.com/questions/22685103/runnable-jar-runs-too-slow-to-eclipse-project – JavaTec

+0

이것이 실행 가능한 JAR 파일과 큰 차이가 있음을 확인할 수 있습니다. Windows의 경우 최소 * 20 * 배, 약 1 분의 속도로 실행되었습니다. 20 ~ 25 분. – mvreijn

+0

그냥이 변경 만든 JAR 파일 달, 슈퍼 빠른, 멋진 팁 갔다! – raffian

관련 문제