[Java] Maven을 사용하여 의존성을 포함한 실행 가능한 JAR 파일 만들기

[Java] Maven을 사용하여 의존성을 포함한 실행 가능한 JAR 파일 만들기

Java
민호이 민호이 2025. 1. 13. 03:31
목차
  1. 1. Maven으로 실행 가능한 JAR 파일을 만드는 방법
  2. 2. Maven Assembly Plugin을 사용하여 JAR 생성
  3. 2.1 Maven Assembly Plugin 설정
  4. 2.2 JAR 생성 명령
  5. 2.3 자동 빌드 단계에 추가
  6. 3. 생성된 JAR 파일 실행
  7. 4. 주요 팁 및 유용한 설정
  8. 4.1 불필요한 이름 접미사 제거
  9. 4.2 Main 클래스가 없는 경우
  10. 결론

1. Maven으로 실행 가능한 JAR 파일을 만드는 방법

Maven은 프로젝트를 빌드하고 관리하는 강력한 도구로, 실행 가능한 JAR 파일을 생성할 때 유용합니다. 특히, 의존성(dependencies)을 포함한 단일 JAR 파일(Uber JAR)을 만들기 위해 Maven 플러그인을 활용할 수 있습니다.

2. Maven Assembly Plugin을 사용하여 JAR 생성

2.1 Maven Assembly Plugin 설정

pom.xml 파일에 아래와 같은 플러그인을 추가합니다.

<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.example.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>

2.2 JAR 생성 명령

아래 명령을 실행하여 의존성이 포함된 JAR 파일을 생성합니다.

mvn clean compile assembly:single

2.3 자동 빌드 단계에 추가

빌드 시 자동으로 JAR 파일을 생성하도록 설정하려면, 플러그인의 executions 섹션을 추가하세요.

<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.example.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

이 설정은 mvn package 명령 실행 시 자동으로 JAR 파일을 생성합니다.

3. 생성된 JAR 파일 실행

생성된 실행 가능한 JAR 파일을 실행하려면 아래 명령을 사용하세요.

java -jar target/your-jar-name.jar

4. 주요 팁 및 유용한 설정

4.1 불필요한 이름 접미사 제거

-jar-with-dependencies 접미사를 제거하려면 다음을 추가하세요.

<appendAssemblyId>false</appendAssemblyId>

4.2 Main 클래스가 없는 경우

만약 Main 클래스가 없다면 mainClass를 생략하면 됩니다. 이 경우, JAR 파일은 실행 파일이 아니라 라이브러리로 사용됩니다.


결론

Maven Assembly Plugin은 의존성을 포함한 실행 가능한 JAR 파일을 손쉽게 만들 수 있는 강력한 도구입니다. 위의 설정을 따라 프로젝트 빌드를 자동화하고 단일 JAR 파일로 배포를 간소화하세요.

 

저작자표시 비영리 변경금지 (새창열림)
  1. 1. Maven으로 실행 가능한 JAR 파일을 만드는 방법
  2. 2. Maven Assembly Plugin을 사용하여 JAR 생성
  3. 2.1 Maven Assembly Plugin 설정
  4. 2.2 JAR 생성 명령
  5. 2.3 자동 빌드 단계에 추가
  6. 3. 생성된 JAR 파일 실행
  7. 4. 주요 팁 및 유용한 설정
  8. 4.1 불필요한 이름 접미사 제거
  9. 4.2 Main 클래스가 없는 경우
  10. 결론
'Java' 카테고리의 다른 글
  • [Java] Java 접근 제어자 (public, protected, package-private, private): 완벽 가이드
  • [Java] Map을 값(Value) 기준으로 정렬하는 방법
  • [Java] 'Could not find or load main class' 오류 해결 방법 총정리
  • [Java] 최신 JSP 2 사용하기: Java에서 JSP 쓰지 않기
민호이
민호이
민호이
ChungCODE
민호이
전체
오늘
어제
  • Categories (128)
    • 스포츠 (6)
    • 인공지능 (5)
    • 주식 (6)
      • 경제 주식 전망 (5)
      • ETF (9)
    • CSAPP (4)
      • Lab Session (4)
      • Concepts (0)
    • C (19)
    • Java (24)
    • Rust (44)
      • Concepts (27)
      • Libraries (17)
    • PS (2)
    • 국내 소식 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • c++
  • C
  • 최대공약수
  • 수학
  • 알고리즘
  • 코드업
  • 유클리드 호제법
  • 최소공배수

최근 댓글

최근 글

반응형
hELLO · Designed By 정상우.v4.2.1
민호이
[Java] Maven을 사용하여 의존성을 포함한 실행 가능한 JAR 파일 만들기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.