2011-04-06 4 views
2

큰 프로젝트에 사용하지 않은 jar가 많이 있습니다. 그 jar를 제거하고 싶습니다. 나는 그것을 수동으로 할 수 없다. 프로젝트에서 사용하지 않는 항아리를 찾는 방법. 나는 classpathhelper을 시험해 보았지만 나에게 그다지 도움이되지 못했다. 나는 일식을 사용하고있다.프로젝트에서 사용하지 않은 jar를 찾으십시오.

+0

중복 http://stackoverflow.com/questions/248589/finding-unused-jars-used-in-an-eclipse-project – WhiteFang34

+0

@ WhiteFang34 -i 이미 겪었 아니지만 내 응용 프로그램이 500 병과 3500 클래스에 대해 너무 커서 큰 일이기 때문에 시간 낭비로 인해 개별 항아리를 서핑 할 수 없다. 다른 설탕제를 묻는 이유는 무엇입니까? –

답변

0

Eclipse의 힙 크기를 늘려 클래스 패스 도우미를 사용할 수 있습니까? http://classpathhelper.sourceforge.net/의 "Eclipse 관련 참고 사항"을 참조하십시오.

+0

메모리 문제가 없습니다. 큰 번호로 인해 개별 항아리를 강조 할 수 없습니다. –

0

duplicate question이 충분하지 않다고 말씀 하셨으므로 나는 매우 이상한 아이디어를 제안 할 것입니다. 하찮은 일은 아니지만 500 병이 있다면 문제도 없습니다. 응용 프로그램에서 ProGuard을 사용해 볼 수 있습니다. 모든 진입 점 (기본 메소드 또는 서블릿 등)을 인식하도록 구성해야합니다 (examples 참조).

모든 종속성 병의 필수 클래스 만 포함하는 단일 jar 출력을 생성 할 수 있습니다. 그것으로부터 당신은 의존 항아리가 실제로 필요로하는 항아리의 모든 나머지 클래스를 참조 할 수 있습니다. ProGuard의 출력을 사용하는 것은 아닙니다. 간단히 필터링에 사용하는 것입니다. 이 작업을 수행하려면 스크립트 나 프로그램을 작성해야합니다. 내가 말했듯이, 평범하지 않은 :)

+0

ProGuard는 동적으로로드되는 클래스를 처리합니까? 대부분의 현대 프레임 워크는 동적 클래스 로딩을 광범위하게 사용하므로 종속성 추적을 매우 어렵게 만듭니다. – thkala

+0

@thkala :'Class.forName()'과 같은 몇 가지 경우를 처리합니다 ([FAQ] (http://proguard.sourceforge.net/index.html#/FAQ.html) 참조). 모든 가능성을 포착하지는 않을 것이므로 찾을 수없는 것들에 대해 알도록 구성해야합니다. 현대 동적 클래스 로딩 프레임 워크에서는 아마도 잘 작동하지 않을 것입니다. 가능한 모든 클래스를 열거하여 구성에 추가 할 수있는 무언가가 필요할 것입니다. – WhiteFang34

관련 문제