본문 바로가기

개발/Error 해결

mvn clean package spring-boot:repackage 오류

mvn clean package spring-boot:repackage 하는 과정에서 2개의 오류를 만났다🥲

1) Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile

다음과 같은 명령어를 실행했더니

아래와 같은 오류가 남.

mvn -version 으로 확인해보니 자바 버전이 1.8로 설정되어져 있음. (해당 프로젝트는 자바 16으로 설정되어있는 상태)

 

자바 버전을 변경해주고, Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile 는 해결 되었지만, 두번째 오류가 났음.

 

2) Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test

maven-surefire-plugin는 테스트를 위한 플러그인이고.... 설정을 아래와 같이 해주면 오류는 안난다.

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-surefire-plugin</artifactId>
     <version>2.19.1</version>
</plugin>

 

근데 근본적인 해결법이 아닌 것 같아서.. 다시 이것저것 찾아봤는데,

찾아보니 플러그인을 다운받다가 깨진 것 같다고 하신다.(백기선 개발자님) 그래서 maven 로컬 레포지토리를 날리고 다시 reload하는 과정을 시도해보았다. 여전히 같은 오류가 난다.

 

혹시 몰라서 아래와 같은 시도도 해봄.. 여전히 난다.. 

mvn dependency::tree
mvn clean install -U or Right-click on "project" Go to "Maven" >> "Update"

오류가 났던 결론만 적자면 profile 설정때문에 난 오류였는데, '되긴 되는데 왜 되는지 모름' 상태라서 profile을 계속 찾아봤다.

 

mvn clean package -P prod  로 패키징하면 다음과 같은 warning 이 나고 (prod를 못찾아서 default로 패키징 된건가?)

java -jar -Dspring.profiles.active=prod target/kdt-0.0.1-SNAPSHOT.jar 로 실행시키면 잘 된다.

java -jar -Dspring.profiles.active=dev target/kdt-0.0.1-SNAPSHOT.jar 로 실행시키면 prod로 패키징했기 때문에 오류가 날거라 생각했는데.... 잘 된다....

 

그래서 profile 설정없이 다시 패키징을 해봤다. mvn clean package 로 패키징하면 warning 없이 패키징이 끝난다.

java -jar -Dspring.profiles.active=prod target/kdt-0.0.1-SNAPSHOT.jar 로 실행시키면 잘 안될거라 생각했는데, 잘 된다.


 

ref

1. 자바 버전 변경

https://ifuwanna.tistory.com/247

 

[MacOS] Java(JDK) 버전 변경 하기

 맥북이나 아이맥같은 MacOS에 여러 버전의 JAVA(JDK)가 설치 되어 있을 경우 아래 설정을 통해 원하는 버전을 기본으로 설정 할 수 있습니다. 1. java -version 명령어를 통해 먼저 사용중인 Java 버전을

ifuwanna.tistory.com

2. maven-surefire-plugin

https://bigphu.tistory.com/93

 

bigphu story

Kidult Developer 노는게 제일 좋은 개발자

bigphu.tistory.com

https://www.inflearn.com/questions/17310

 

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project. - 인프런 | 질문

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project. 라고 에러 떴는데  https://stackoverflow.com/que...

www.inflearn.com

3. maven local repository

https://wikidocs.net/18342

 

06. Repository(저장소)

- Maven은 Repository라는 개념이 있으며, Local Repository, Repository, Plugin Repository 3가지로 구분된다. ## 1. ...

wikidocs.net

4. maven local repository 삭제 후 reload

https://gocoder.tistory.com/721

 

Maven - repository 삭제 후 다시 다운 / build 오류 재설치

메이븐 의존성 초기화  안녕하세요. 고코더 입니다. 메이븐은 모듈입니다. 필요한 라이브러리들을 찾아 다닐 필요 없이 dependency 만 입력하면 자동으로 설치가 되니깐요. 이런 의존성 관리는 가

gocoder.tistory.com

5. maven profile package

https://www.lesstif.com/java/maven-profile-14090588.html

 

maven profile 을 이용하여 운영 환경에 맞게 패키징 하기

 

www.lesstif.com

 

'개발 > Error 해결' 카테고리의 다른 글

./gradlew build 실패 오류  (0) 2021.06.23