Maven Shade Plugin

최대 1 분 소요

오류발생

인터페이스하기위한 라이브러리를 내부적으로 테스트 후 고객사에 제공했으나, 고객사가 해당 라이브러리(.jar)를 import 하고 라이브러리 내부의 함수를 호출하여
기능을 테스트했지만 호출시에 라이브러리 내부에있는 클래스를 찾을 수 없다고 오류가 발생하였음

원인

원인 == 불완전한 패키징
원인은 만든 라이브러리는 구동시 외부 라이브러리를 의존하는데 의존되는 라이브러리들이 같이 패키징되지 않았다.
그런데 어떻게 내부적으로 테스트했을 당시는 문제없이 테스트되었을까?

테스트시에 해당라이브러리를 프로젝트 내부에 import후 TC를 통해 테스트했다.
당시 내부프로젝트는 “spring-boot-maven-plugin” 이라는 플러그인을 사용하고있었고,
해당 플러그인은 “shade-plugin”이라는것을 포함하고있었다.
이 플러그인은 required한 의존성들을 모아 재패키징 하는 플러그인이였다.
해당 플러그인 설정 후 재 패키징으로 이슈 종결

TMI

해당 플러그인은 Uber(over) jar or fat jar를 생성하게 도와주는 플러그인이다.