2013-06-30 4 views
0

XML, DB 및 기타 유틸리티 클래스가 포함 된 유틸리티 java 프로젝트를 만들었습니다. 일부 Apache 공용 라이브러리에 대한 타사 종속성이 필요하므로 이클립스 Juno에서 빌드 경로를 구성하여 Java 프로젝트에 추가했다. 이제 jar 파일로이 자바 프로젝트를 내보내려고합니다. 이 프로젝트를 실행 가능한 jar 파일로 내보낼 때, 다른 Java 프로젝트에이 jar를 포함하면 유틸리티 클래스에 액세스 할 수 있지만 jar 파일로 유틸리티 프로젝트를 내보낼 때 유용합니다. 그것을 사용할 수 없습니다. Runnable jar에는 메인 클래스가 필요하지만 유틸리티 자바 프로젝트에는 메인 클래스를 유지하고 싶지 않습니다. jar 파일을 비교했습니다. 내가 찾은 차이점은 runnable jar 파일에서 .classpath 파일은 없지만 거기에있는 간단한 jar 파일이라는 것입니다. runnable jar 파일에서 모든 jar 파일은 MANIFEST-INF.mf 파일에 언급되지만 단순한 jar 파일에는 .mf 파일의 버전 만 포함됩니다. 누구나 어떻게 말해 주 클래스없이 jar 파일을 만들 수 있고 다른 Java 프로젝트에 사용할 수 있도록 jar 파일을 포함하고 그대로 사용해야합니다.java 프로젝트를 jar 파일로 내보내는 방법

+0

maven을 빠르게 살펴보십시오. 어쩌면 당신의 문제를 해결할 수도 있습니다. http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html – smsnheck

+0

백업 계획으로 나는 너무 maven을 찾고 있습니다. 하지만이게 정말 일식에서 할 수 있어야하는 간단한 일이 아닌가 ?? 내 위의 시나리오가 일식을 통과 할 수 없다는 것을 의미합니까? –

+0

이 사람도 같은 문제가 있습니다. http://stackoverflow.com/questions/16422892/how-to-export-a-jar-file-including-my-classes-and-other-jar-files-extracted-us ? rq = 1 그러나 아무도는 식을 통해 해결책을 제공하지 않았다 –

답변

0

프로젝트를 jar 파일로 내 보내면 apache ant 도구를 사용하여 jar (war)를 패키징 할 수 있습니다. 같은 것을 할 :

<jar destfile="${dist}/lib/app.jar" 
    basedir="${build}/classes" 
    excludes="**/Test.class" 
/>` 
0

을 나는 유틸리티 프로젝트에 외부의 제 3 자 라이브러리 클래스를 추출하는 것은 무엇인가 비표준이기 때문에이 일식에서 제공되지 않은 가정합니다. 프로젝트가 성장함에 따라 많은 문제가 발생할 수 있으며 클래스 충돌이 그 중 하나입니다.
여전히 접근 방법을 원한다면, 프로젝트를 일반 병 프로젝트로 내보낼 수 있습니다. 그런 다음 7zip과 같은 유틸리티에서 프로젝트와 타사 라이브러리를 연 다음 타사 라이브러리 내용 (META-INF 제외)을 프로젝트 병에 끌어다 놓습니다. 그게 다야.
그러나 자동화하려면 개미이 (가) 당신의 친구가 될 것입니다.

+0

나는 아파치 commons 또는 dom4j 또는 log4j 또는 다른 항아리가 어떻게 궁금했다.이 항아리는 실행 파일이 아니며 여전히 사람들이 프로젝트에 포함시켜 사용할 수있다. ???? –

+0

@MrunalGosar하지만이 항아리에는 외부 종속성 클래스가 포함되어 있지 않습니다. 단지 클래스를 jar 파일로 내보내고 싶다면이 기능을 이미 사용할 수 있습니다. –

관련 문제