Java Eclipse : JAR로 내보내기와 실행 가능한 JAR로 내보내기의 차이점


88

JAR 파일로 내보내는 것과 실행 가능한 JAR 파일로 내보내는 것의 Eclipse의 차이점은 무엇입니까? 둘 다 실행 가능하지 않습니까? 각각의 장단점은 무엇입니까?

답변:


99

실행 가능한 jar에는 jar가 실행될 때 실행할 Main 클래스를 정의하는 MANIFEST.MF 파일이 포함되어 있습니다.

실행 불가능한 jar는 클래스의 라이브러리 일 뿐이며, 코드를 재사용 할 수 있도록 클래스 경로에 추가 할 수 있습니다 (매니페스트 파일도 포함하지만 메인 클래스는 없음).


실행 가능한 jar 대신 jar로 파일을 내보낼 때 manifest.mf에 기본 클래스와 라이브러리 클래스 경로를 지정해야합니다.
MR 및

20

실행 가능한 jar는 "Main-Class :"선언을 포함하는 임베드 된 Manifest 파일이있는 jar 파일입니다. Java 런타임이 jar가 "실행"될 때 호출 할 클래스를 알 수 있도록 "Main-Class"를 정의해야합니다. jar에 "Main-Class :"가 포함 된 매니페스트가 포함되어 있지 않으면 "실행 가능한 jar"로 간주되지 않으며 Java 코드의 라이브러리 일뿐입니다.

이클립스가 항아리를 내보내는 방식의 차이라고 생각하지만 100 % 확실하지는 않습니다.

자세한 정보는이 링크를 참조하십시오 : http://www.skylit.com/javamethods/faqs/createjar.html


17

표준 JAR 파일을 사용하면 jar를 실행할 때 명령 줄에서 main 메서드로 클래스를 지정해야합니다. 실행 가능한 JAR을 사용하면 해당 정보를 저장할 매니페스트 파일이 있으므로을 입력 java -jar myRunnable.jar하거나 두 번 클릭하면됩니다.


0

필자의 경우 모든 메인 클래스와 모든 라이브러리 경로 디렉토리가 manifest.mf에 지정되었을 때 jar로 내 보내곤했습니다. 많은 애플리케이션이 동일한 라이브러리를 사용하는 경우 각 jar에 대해 공유 라이브러리를 내보낼 필요가 없습니다. 항아리를 더 빠르게 실행합니다. 그러나 다른 서버 클래스 경로의 구성 문제로 인해 라이브러리에 액세스 할 수없는 경우가 많으며이 경우 파일 실행 속도가 느려지고 커지는 실행 가능한 jar를 내보내는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.