jar 파일 크기를 줄일 수있는 방법이 있습니까?jar 파일 크기 줄이기
사용하지 않는 종속성을 줄이는 도구가 필요합니다.
종속성 관리를 위해 maven을 사용합니다.
도움이 될 것입니다.
jar 파일 크기를 줄일 수있는 방법이 있습니까?jar 파일 크기 줄이기
사용하지 않는 종속성을 줄이는 도구가 필요합니다.
종속성 관리를 위해 maven을 사용합니다.
도움이 될 것입니다.
JAR 파일에는 일반적으로 Maven 의미의 종속성이 없습니다. 그래서 당신에 대해 이야기해야합니다
첫 번째 두 경우에는 종속성 사양 또는 전쟁 또는 음영 플러그인 빌드 설명자에서 제외하여 명목상 종속 JAR을 제외 할 수 있습니다. IIRC, 음영 플러그인을 사용하여 특정 패키지 및 클래스를 제외 할 수도 있습니다.
마지막으로 JAR 파일을 후 처리하려면 별도의 도구가 필요할 수 있습니다. 사용되지 않는 클래스를 제거하는 것은 난독 화가가 할 수있는 일입니다. 그러나 반사적으로 사용되는 클래스 나 클래스 이름을 제거하지 않도록주의해야합니다. 예 : DI/IoC 프레임 워크 또는 AOP 프레임 워크에 의해 생성됩니다.
(일반적으로 이런 종류의 도구는 .class 파일 외부 참조가 내포하는 종속성을 분석하여 어떤 클래스가 사용되는지 파악하려고 시도합니다 .DI/IoC/AOP 등에서는 다른 종류의 종속성을 소개합니다. .class 파일 구조.)
pack200은 JAR 크기를 크게 줄일 수 있습니다. 그러나 Maven과 함께 사용하는 것은 어렵고 EE 컨테이너와 함께 사용하는 것은 불가능합니다.
왜 사용하지 않는 종속성이 있습니까?
다른 항아리와의 종속성이있는 jar 파일이 있습니다. 해당 항아리에서 1-2 클래스 만 사용하고 사용하지 않는 항아리를 줄이려고합니다. –
프로젝트가 사용하는 종속성을 알고 싶으면 maven-dependency-plugin을 확인하십시오.이 값을 사용/사용되지 않는 종속성을 분석하는 데 사용할 수 있습니다.
를 통해 의존성을 확인합니다
mvn dependency:analyze
또는이 같은 출발 트리에서 살펴 :
mvn dependency:tree
또는 당신은 (당신이 사용하는 하나 따라) 당신의 IDE에 좀 걸릴 수 있습니다 예를 들어 이클립스 (Indigo)와 m2e 플러그인에는 의존성 트리를 보여주는 "Dependency Hierarchy"탭이있다. 전이 의존성.
일부 상황에서는 maven-dependency-plugin이나 ide 플러그인으로 분석 할 수없는 DI 프레임 워크에서 사용하는 종속성에주의해야합니다.
"사용하지 않는 종속성"이란 무엇을 의미합니까? 너의 자신의 pom 's 또는 다른 사람의 pom 안에? – khmarbaise
내 자신의 pom에 나는 약 350kb.in 그것의 pom 파일에 아파치의 httpclient가 포함되어 있습니다. 그것은 다른 files.i와 종속성을 가지고 있습니다. jar에서 사용하지 않는 클래스를 줄이고 jar 파일을 줄이는 도구가 필요합니다. –
httpclient에 사용되지 않는 종속성이 포함되어있는 경우에는 전이 의존성을 제외하기 위해 제외를 사용할 수 있습니다. – khmarbaise