데이터베이스 (MySQL)에 연결하는 프로젝트를 완료했습니다. 이제 프로젝트를 jar로 내보내고 싶습니다. 하지만 외부 종속성을 포함하는 방법을 모르겠습니까? Eclipse에서 수행하는 방법이 있습니까? 아니면 스크립트를 사용해야합니까?.
답변
프로젝트를 ‘Runnable jar’로 내보낼 때 (프로젝트에서 마우스 오른쪽 버튼-> Export-> Runnable jar) 생성 된 jar에 모든 종속성을 패키징하는 옵션이 있습니다. 또한 라이브러리를 내보내는 두 가지 다른 방법 (스크린 샷 참조)이 있습니다. 사용할 패키징 방법을 결정할 때 라이선스를 알고 있어야합니다.
‘시작 구성’드롭 다운은 main(String[])
메서드가 포함 된 클래스로 채워집니다 . 선택한 클래스는 항아리를 ‘실행’할 때 시작됩니다.
실행 가능한 jar로 내보내기는 빌드 경로에 대한 종속성을 사용합니다 (프로젝트에서 마우스 오른쪽 버튼-> 빌드 경로-> 빌드 경로 구성 …). ‘일반'(실행 불가능) jar로 내보낼 때 프로젝트의 모든 파일을 선택할 수 있습니다. 프로젝트 폴더에 라이브러리가있는 경우 포함 할 수 있지만 외부 종속성은 예를 들어메이븐, 포함 할 수 없습니다 (Maven 프로젝트의 경우 여기 에서 검색 ).
답변
Export-> Java-> Runnable Jar를 사용하여 종속성을 포함하는 jar를 만들 수 있습니다.
또는 fatjar eclipse 플러그인을 사용하여 jar를 함께 묶을 수 있습니다.
답변
프로젝트를 마우스 오른쪽 버튼으로 클릭하고 내보내기를 클릭 한 다음 ‘jar’를 입력하고 ‘실행 가능한 JAR 파일 내보내기’를 선택할 수 있습니다. 여기에는 ‘필요한 라이브러리를 생성 된 JAR로 추출’옵션이 있습니다.
답변
몸소,
위의 답변 중 어느 것도 나를 위해 일하지 않았지만 여전히 NoClassDefFound 오류가 발생했습니다 (종속성을 위해 Maven을 사용하고 있습니다). 내 해결책은 “mvn clean install”을 사용하여 빌드하고 해당 명령이 생성하는 “[project] -jar-with-dependencies.jar”를 사용하는 것입니다. 마찬가지로 Eclipse에서 프로젝트-> 실행 도구-> Maven 설치를 마우스 오른쪽 버튼으로 클릭하면 대상 폴더에 jar가 배치됩니다.
답변
Java 웹 프로젝트의 모든 JAR 파일을 내보내려면 ZIP 도구 (예 : 7-Zip)로 최신 생성 된 WAR 파일을 열고 / WEB-INF / lib / 폴더로 이동합니다. 여기에서이 프로젝트에 필요한 모든 JAR 파일을 찾을 수 있습니다 ( “참조 된 라이브러리”에 나열 됨).
답변
소스를 jar로 내보내는 동안 옵션에서 실행 가능한 jar 옵션을 선택해야합니다. 그런 다음 모든 종속성 jar를 패키징할지 아니면 jar 파일에 직접 포함할지 선택하십시오. 작업중인 프로젝트에 따라 다릅니다.
그런 다음 java -jar example.jar로 jar를 직접 실행합니다.
