2008-09-16 3 views
8

불필요한 jar 파일을 검색하는 도구가 있습니까?최소한의 Java 클래스 경로 찾기

예를 들어 나는 hibernate.jar, junit.jar 및 easymock.jar를 포함하는 classpath로 실행할 수있는 myapp.jar가 있다고 가정합니다. 그러나 실제로 junit.jar를 호출하는 코드는 접근 할 수 없으므로 hibernate.jar 만 사용하면 문제가 없습니다.

반사가 사물을 복잡하게 만들 수도 있지만 반사를 무시한 도구로 살 수 있습니다. 그것을 제외하고는 해결할 비교적 간단한 문제처럼 보입니다.

이러한 도구가 없다면 어떤 종속성이 필요한지 결정하는 모범 사례는 무엇입니까? 공통된 문제 여야합니다.

답변

3

리플렉션을 사용하는 시스템에서는 불가능합니다.

즉, 정적 분석 도구는 ANY 반영을 사용하지 않으면 꽤 잘할 수 있습니다.

2

Dependency Finder를 살펴 보셨습니까?

http://depfind.sourceforge.net/

가능한 다른 자바 의존성 도구의 대부분의 편리한 목록에는 해당 사이트에서 사용할 수 있습니다.

1

나는

http://code.google.com/p/jarjar/

를 사용하고 꽤 좋은 것으로 나타났습니다.

또한 단위/수락 테스트의 좋은 세트가있는 경우 쉽게 반성을했는지 알 수 있습니다.

0

Bill K의 답변에 추가 할 내용 : 리플렉션을 전혀 사용하지 않을 수도 있지만 사용중인 JAR이있을 수 있습니다. 나는 xalan & xerces와 같은 것을 발견했다. 런타임시 ClassNotFoundException이 던져진다.