2012-10-12 3 views
-3

가능한 중복 파일 포함 :
Easiest way to merge a release into one jar-file
은 JAR에서 JDOM 같은 외부 라이브러리

나는 4 개 클래스와 간단한 프로젝트를했다. 그것은 JDOM 라이브러리를 사용하고 클래스 패스에 포함 시켰습니다. JAR 파일을 만들 때 4 개의 클래스와 매니페스트를 넣으면 JAR 파일을 실행할 때이 오류가 발생합니다.

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/jdom/JDOMException 
    at Frame.setPeople(Frame.java:230) 

그게 JDOMException 클래스를 찾을 수 없습니다. 그렇다면 Jar 파일에 외부 라이브러리를 포함시키는 트릭이 있습니까? 가능한 경우 JDOM 라이브러리를 포함하는 방법에 대한 예를 들어 주시겠습니까?

+1

빌드 도구 (ant, maven ...) 및 해당 기능을 사용하십시오. –

+0

개미를 사용하고 싶지 않습니다. – REmaxer

+0

다음 네 클래스를 jdom jar에 추가하십시오.) – shyam

답변

1

흠 ... ANT를 사용하고 싶지 않으면 maven을 사용하고 싶지 않을 것입니다. 그러나이 문제는 스스로 해결할 수는 없습니다. 당신은 뭔가해야 할 것입니다. 아무튼 ...

maven shade plugin을 확인하십시오. 빌드 환경을 Maven을 사용하도록 전환해야하지만 일단 그렇게하면 Shade Plugin은 코드와 모든 종속성을 포함하는 실행 가능한 jar 파일을 만들 수 있습니다. http://maven.apache.org/plugins/maven-shade-plugin/

+0

Maven을 배우는 것은 시간을 스스로 창조하는 법을 배우는 것과 같이 장기간에 걸쳐 많은 시간을 절약합니다. –

+0

나는이 플러그인/소프트웨어가 내 작업을 덜 어렵게한다는 것을 깨달았습니다.하지만 나는 외부 소프트웨어없이 그것을하고 싶었습니다. – REmaxer

+0

이러한 종류의 작업을 수행하는 외부 소프트웨어가 있습니다. 왜 인생을 너 자신을 위해 더 단단하게합니까? – DNA

0
java -cp pat/to/jdom.jar:path/to/my.jar my.main.JavaClass 

롤프는

당신은 아마 당신의 클래스를 추가하는 등 윈집, 아카이브 관리자 또는 이와 유사한 같은 도구를 사용하여 JDOM 라이브러리 JAR의 내용을 풀고하여이 작업을 수행 할 수 있습니다
+0

무엇을합니까? – REmaxer

+0

google 'java -classpath'또는 java -h – rolfl

+0

을 입력하십시오. 괜찮습니다. 적어도 나를 위해 무엇을 할 것인가. – REmaxer

0

후 다시 압축을 참조하십시오 모든 결합 된 파일을 새로운 JAR 파일로 만듭니다.

JAR은 단지 Zip 아카이브이므로 많은 도구가 압축을 풀고 압축 할 수 있습니다.