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

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



답변

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

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


답변

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

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

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


답변

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


답변

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


답변