2010-06-21 4 views
1

다른 프로젝트의 특정 Java 클래스에 의존하는 NetBeans 프로젝트가 있습니다. 현재 NetBeans가 프로젝트를 컴파일 할 때 외부 클래스가 JAR에 없으므로 NoClassDefFoundError가되는 다른 Java 클래스에 대한 참조 만 추가합니다.NetBeans : 외부 클래스를 JAR에 정적으로 강제 컴파일 하시겠습니까?

NetBeans가 빌드 할 때 NetBeans가 해당 외부 파일을 JAR에 강제로 복사하고 붙여 넣기가 힘들 수 있습니다.

+0

Maven 기반입니까? –

+0

그렇지 않습니다. 바닐라 NetBeans Java 프로젝트입니다. – erjiang

+0

바닐라는 NetBeans의 빌트인 Ant 기반 빌드 메커니즘을 사용한다는 것을 의미합니다. –

답변

1

"fat JAR 파일"로 일반적으로 알려진 것을 만들려고합니다. 즉, 애플리케이션에 필요한 모든 클래스가 포함 된 JAR 파일입니다.

this forum posting에서 제조법을 시도하십시오.

또 다른 방법은 Ant buld.xml 파일에 다음과 같은 내용을 추가하는 것입니다.

<target name="-post-jar"> 
    <jar update="true" destfile="${dist.jar}"> 
    <zipfileset src="${javac.classpath}"/> 
    </jar> 
</target> 
0

Maven 기반의 경우 ant 태스크를 사용하여 해당 단계에서 대상/클래스에 클래스를 복사하면됩니다 (컴파일 소스 등 - test 이전의 내용).

Ant 기반의 경우 프로젝트별로 확장 가능한 NetBeans의 앤트 빌드 스크립트를 해킹해야합니다.

그런데 표준 방법은 "다른 프로젝트"를 프로젝트의 종속성으로 만드는 것입니다. 그 수업은 그 프로젝트의 다른 수업을 필요로 할 수도 있습니다.

또한 JDGUI를 사용하여 프로젝트를 디 컴파일하고 필요한 클래스를 체리 선택하는 것이 좋습니다. http://java.decompiler.free.fr/?q=jdgui

관련 문제