ERROR FIX
mvn compile, package, install 차이
ppirae
2023. 11. 18. 18:09

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