maven war 가방 으로 포장 하여 jar 가방 다이어트 제거
1.1 maven-dependency-plugin 플러그 인 을 추가 하여 인 용 된 jar 패 키 지 를 지정 한 경로 로 복사 합 니 다.
후속 tomcat 시작 에 편리 하도록 패키지 의존 경 로 를 지정 합 니 다.
<!-- jar lib -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration> <!-- -->
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
이 플러그 인 을 사용 하여 구 축 된 디 렉 터 리 구 조 는 lib 디 렉 터 리(즉,위 설정 의 outputDirectory 가 지정 한 경로)가 하나 더 있 습 니 다.그 안 에는 의존 하 는 jar 패키지 가 있 습 니 다.1.2 maven-war-plugin 플러그 인 추가
<!-- war -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<packagingExcludes>
<!-- jar -->
<!--WEB-INF/lib/commons-io-2.5.jar,-->
<!--WEB-INF/lib/commons-lang3-3.6.jar,-->
<!-- commons- jar -->
<!--%regex[WEB-INF/lib/(?!commons-).*.*.jar]-->
<!-- commons- jar -->
%regex[WEB-INF/lib/(commons-).*.*.jar]
</packagingExcludes>
</configuration>
</plugin>
위 설정 을 구축 한 후 나 온 war 가방 은 war 가방 에 있 는/WEB-INF/lib/아래 에 해당 하 는 jar 가방 을 제거 하여 발표 가방 의 크기 를 줄 이 고 서버 업로드 속 도 를 가속 화 합 니 다.다음 그림 에서 war 가방 을 누 르 고 WEB-INF/lib 디 렉 터 리 를 봅 니 다.comons 시작 하 는 jar 가방 이 포함 되 어 있 지 않 습 니 다.제거 되 었 습 니 다.원래 war 가방 의 구 조 는 comons 로 시작 하 는 jar 를 많이 포함 하고 있 습 니 다.다음 그림 입 니 다.
상기 사고 에 따라 우 리 는 lib 아래 의 모든 jar 를 제거 할 수 있 습 니 다.jar 에 의존 하 는 것 을 제거 한 후에 설정 을 통 해 프로젝트 를 배치 할 수 있 습 니 다tomcat 외부 lib 경로 참조
주석:
서로 다른 버 전 의존 이 존재 한다 면:예 를 들 어 프로젝트 A 는 Y 라 이브 러 리 의 1.0 버 전 에 의존 하고 프로젝트 B 는 Y 라 이브 러 리 의 2.0 버 전에 의존 하면 버 전 의존 충돌 이 발생 할 수 있 습 니 다(두 버 전이 호 환 되 지 않 는 경우)
해결 방안:
1.버 전이 일치 할 수 있 으 면 같은 버 전 을 사용 하고 가능 한 한 여러 항목 이 같은 라 이브 러 리 의 버 전 을 사용 하도록 확보한다.
2.프로젝트 를 각각 필요 한 버 전에 의존 시 키 고 war 가방 에 넣 고 같은 버 전의 jar 가방 을 같은 공유 가방 에 넣 습 니 다.
테스트 결과 검색 에 의존 할 때 위 에서 아래로 찾 습 니 다.일치 하면 첫 번 째 로 사용 합 니 다.
다음 그림 은 comm-0.1.jar 버 전 을 사용 합 니 다.
springboot 패키지 플러그 인 jar 패키지 다이어트 제거
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Windows에서 CodeArtifact(Maven)용 토큰을 자동으로 생성하는 방법CodeArtifact를 사용한 적이 있거나 사용할 계획이라면 매일 모든 Maven 프로젝트에서 수동으로 토큰(CODEARTIFACT_AUTH_TOKEN)을 생성해야 합니다. 이는 어려울 수 있으며 개발 속도를 늦출...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.