본문 바로가기
ERROR FIX

mvn compile, package, install 차이

by ppirae 2023. 11. 18.

1. mvn compile

  • 목적 : 프로젝트의 소스 코드를 컴파일
  • 라이프사이클 단계 : compile은 Maven 빌드 라이프사이클의 한 단계로, 프로젝트의 소스 코드를 컴파일하는 역할을 합니다.
    출력 : 컴파일된 클래스는 기본적으로 target/classes 디렉토리에 위치합니다.

2. mvn package

  • 목적 : 컴파일된 코드를 JAR(Java Archive) 또는 WAR(Web Archive)와 같은 배포 가능한 형식으로 패키징합니다.
  • 라이프사이클 단계 : package는 Maven 빌드 라이프사이클의 한 단계이며, compile 단계를 포함하고 패키징 단계를 추가합니다.
  • 출력 : 패키지된 아티팩트(예: JAR, WAR)는 기본적으로 target 디렉토리에 생성됩니다.

3. mvn install

  • 목적 : 패키지된 아티팩트를 로컬 Maven 저장소에 설치하여 동일한 머신의 다른 프로젝트에서 사용할 수 있게 합니다.
  • 라이프사이클 단계 : install은 Maven 빌드 라이프사이클의 한 단계이며, compile 및 package 단계를 포함하고 설치 단계를 추가합니다.
  • 출력 : 패키지된 아티팩트는 로컬 Maven 저장소 (~/.m2/repository)에 설치됩니다.

 

요약하면:
mvn compile은 소스 코드를 컴파일합니다.
mvn package는 코드를 컴파일하고 이를 배포 가능한 형식으로 패키징합니다.
mvn install은 코드를 컴파일하고 패키징하여 아티팩트를 로컬 Maven 저장소에 설치합니다.

 

출처) ChatGPT

댓글