Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

아님말고

maven-shade-plugin을 이용하여 의존성 포함한 jar 만들기 본문

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 파일이 생성된다.

'Java' 카테고리의 다른 글

[mysql] 이전 이후 변경된 값 비교하기  (1) 2023.12.26
SoketExcepton connection reset 문제  (0) 2023.12.12
Kafka + Windows 설치 및 테스트  (0) 2023.08.23
[AWS] DynamoDB + local 설치  (0) 2023.08.22
Swagger + Spring Boot 3  (0) 2023.08.18
Comments