Maven을 이용한 Springboot 프로젝트 repackage 하기
다른 분이 작성한 Springboot 프로젝트를 패키징하게 되었다.
해당 프로젝트는 maven으로 되어 있었기에 큰 문제가 없을꺼라 생각했다.
내 업무 환경은 JDK 12가 설치되어 있었는데, spring-repackage를 하면 다음과 같은 오류가 발생하였다.
ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar (default-jar) on project my-test-utils: Execution default-jar of goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-jar-plugin:2.6:jar: java.lang.ExceptionInInitializerError: null
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.apache.maven.plugins:maven-jar-plugin:2.6
에러 발생의 원인은 maven-plugin 버전 문제로, 다음과 같이 pom.xml에 추가 하면 된다.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
</plugin>
</plugins>
</build>
추가로 다음과 같은 오류가 발생하면,
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.21.RELEASE:repackage (default-cli) on project lahuman: Execution default-cli of goal org.springframework.boot:spring-boot-maven-plugin:1.5.21.RELEASE:repackage failed: Source file must be provided -> [Help 1]
Maven 배포시 Local Jar 파일과 함께 하기!내용과 같이 spring:repackage에 -U 옵션을 추가하면 해결 된다.