Java
maven-shade-plugin을 이용하여 의존성 포함한 jar 만들기
스타박씨
2025. 3. 13. 10:25
maven-shade-plugin 을 이용하면 모든 패키지와 의존성을 포함하여 1개의 jar 파일로 만들어 준다.
생성된 jar 파일을 실행만 해주면 된다.
ex) java -jar api-0.0.1-SNAPSHOT.jar
pom.xml 기본형태
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.myproject.client</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<executions>에 phase와 goal을 정의해놓고, 실행할 main class를 <mainClass>에 기입한다.
MainfestResourceTransformer 을 이용하여 class와 resource 파일이 중복되지 않도록 해준다.
package 하기
[eclipse] 프로젝트명 > Run as > maven install 실행하면
프로젝트 디렉토리 > target 밑에 jar 파일이 생성된다.