2009-08-18 1 views
0

,컴파일 된 JAR 파일이 zip 파일은 약 10 .class 파일이 포함되어 여분의 클래스 파일 내가 리소스 폴더에 압축 파일을 첨부 가지고 넷빈즈 모빌리티 프로젝트에서

가 포함되어 있습니다.

제 이동성 응용 프로그램에서 저는 실제로 zip 파일에서 4 개의 클래스를 사용하고 있습니다. 그러나 프로젝트를 컴파일하고 빌드 할 때 대상 jar 파일은 zip 파일의 10 개 .class 파일을 모두 포함하는 것으로 보입니다.

응용 프로그램에서 사용하는 클래스 파일 만 최종 jar로 컴파일된다는 인식이있었습니다. 무엇이 잘못 될 수 있습니까?

+1

Netbeans은 현재 어떤 수업을 사용하고 있는지 어떻게 알 수 있습니까? 알고있는 모든 것에 대해, 당신은 그것을 반사적으로 접근 할 수 있습니다. –

+0

컴파일러는 필자가 필요한 클래스 파일을 사용하고 있으며 최종 병에 포함 할 수 없다는 것을 알지 못합니다. jar 파일 크기 관점에서 이야기하고 있습니다. 예를 들어, .class 파일이 들어있는 resources 디렉토리에 zip 또는 jar를 첨부하면 최종 컴파일 된 jar 파일에 100 개가 모두 표시됩니다. –

+1

예, 그렇습니다. 하지만 당신이 반사회적으로 재미있는 일을하지 않는다면, izb의 대답은 잘 작동 할 것입니다. –

답변

3

midar 클래스에서 사용하지 않는 클래스를 자동으로 제거하려면 jar에 proguard를 사용해보십시오.

+0

나는 난독 화 수준을 max로 설정하고 jar 파일은 원래 크기의 절반으로 줄어들었고 더 적은 수의 클래스 파일도 최종 jar로 표시됩니다. 하지만 내가 사용한 수업이 마지막 항아리에 들지 않는 이유를 이해하지 못합니다. –

+0

Proguard는 난독 화 및 축소 과정에서 클래스 이름을 변경합니다. 클래스 이름을 유지하려면 난독 화하는 동안 keepattributes 플래그를 사용하십시오. 다양한 옵션에 대해서는 Proguard 설명서를 참조하십시오. – Ram

0

netbeans가 첨부 된 리소스 파일로 수행 할 작업에 대해 잘못된 가정을하고 있다고 생각합니다. 당신이 사용하고있는 것과 사용하지 않은 것을 자동으로 파악하지는 않습니다. 하지만 타사 도구가 도움이 될 수 있습니다.