2009-09-08 5 views
5

Java 코드의 작은 부분에 의존하는 jar가 많은 상황이 있습니다. 그러나이 항아리 내부의 종속성은 매우 낮습니다. 대부분의 경우 단일 인터페이스에 대한 항아리에만 의존합니다.Java 의존성 최소화

응용 프로그램과 함께 모든 jar 파일을 배포하는 대신 실제로 사용하는 jar 파일 안에 특정 클래스 파일을 배포하고 싶습니다. 그 이유는 공간을 절약하기 위해서입니다 (이 코드는 애플릿에 있습니다).

누구나 자동으로이 작업을 수행 할 수있는 도구 나 방법을 알고 있습니까? 모든 의존성이 고정되어 있다고 가정하면 이는 전적으로 가능합니다. 어떤 아이디어?

답변

5

Classdepandjar은 코드베이스를 필수 클래스로 줄입니다. Jini 세계에서 최적의 크기의 항아리를 제공하기 위해 사용되었지만 Jini에 특이한 점은 없습니다.

Ant 태스크로 사용 가능합니다.

3

지금까지 내가이 만 받는다는되어 있지만 좋은 시작

Maven Shade Plugin 알고으로이 플러그인 종속성과 그늘에 포함하여 동네 짱 - 항아리에 이슈를 패키징 할 수있는 기능을 제공합니다 - 즉, 이름 변경 - 일부 종속성의 패키지.

2

ProGuard 축소/최적화 및 난독 화를 수행합니다. 나는 하나 또는 다른 것을 할 수 있다고 생각한다.