실행 가능한 jar 파일 빌드에 대한 질문. jar 파일 a.jar에 UI.class가 포함되어 있다고 가정합니다. 에 a.jar, b.JAR가와 C - 나는 누군가에게이 실행에 a.jar를 제공하려는 경우, 나는 3 개의 파일을 제공 할 필요가 지금중첩 된 jar 파일
Main-Class: UI
Class-Path: . b.jar c.jar
을 말한다 보관에 a.jar에서 메타 파일을 사용하고 있습니다 .항아리. 사용자는 모두 3을 같은 폴더에 넣고 a.jar을 더블 클릭하면됩니다. 단일 파일 (a.jar)을 제공 할 수 있다면 더 간단 할 것이며, JVM은 클래스를 사용하기 위해 b.jar 및 c.jar를 추출 할 수 있습니다. 이 2는 외부 라이브러리이므로 확장하고 클래스 파일을 a.jar에 다시 넣지 않으려합니다.
이 작업을 수행 할 수 있습니까? 그렇다면 jar 명령은 무엇이며 메타 파일에는 무엇이 있어야합니까? 현재 명령은
jar cmf metafile a.jar UI.class
고맙습니다.
나는이 그것을 시도했습니다 또는
, 당신은 또한 여기에 ANT 태스크를 사용하여이를 달성 할 수는 예제 작동하지만 JAR 파일이 매우 작지 않으면 응용 프로그램이 매우 느리게 시작됩니다. –
나는 이것을 시험해 보았다. 달리기를 시도 할 수 없었다. 문제 : boot-manifest.mf 파일에서 "Main-Class : package.ClassName"을 유지하면 "java -jar composite.jar"을 실행할 때 java를 찾을 수없고 행을 생략하면 "One-Jar-Main-Class : package.ClassName"만이 java는 "Main-class"항목이 없다고 불평합니다. 그래서 나는 갇혀있다 - 당신은이 파일이 어떻게 생겼는지에 대한 예를 들어 줄 수 있겠는가? 고맙습니다, 나는 그 포인터에 감사드립니다. –
@Manidip Sengupta : 위의 편집 내용을 참조하십시오. – CoolBeans