[메이븐] 메이븐 CLI 명령어 정리

1. 프로젝트 생성

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
  • archetype = 메이븐의 플러그인(plugin)
  • 지정한 archetypeArtifactId을 기반으로 프로젝트를 생성한다.
  • artifactId 값에 해당하는 폴더 및 프로젝트를 생성한다.
  • 생성된 프로젝트 구조 및 파일
    • src/main/java: 프로젝트 소스 코드가 위치하는 폴더
    • src/test/java: 테스트 소스 코드가 위치히는 폴더
    • pom.xml: POM(Project Object Model) 파일 (프로젝트 구성 파일)


2. 프로젝트 빌드 (Build)

mvn package
  • package = 메이븐의 페이즈(phase) 중 하나
    • 페이즈란 메이븐의 빌드 단계를 말한다. 각각의 페이즈는 빌드에 필요한 특정 작업을 각각 수행한다.
  • 기본 빌드 생명주기(default build lifecycle) 중 package 페이지 이전의 모든 페이즈(validate, compile, test)를 수행한다.
    • validate: 프로젝트가 올바른지, 빌드를 위해 필요한 모든 정보들이 사용 가능한지 확인한다.
    • compile: 소스 코드를 컴파일하여 jar 파일을 생성한다. 기본적으로 target 폴더에 저장한다.
    • test: 컴파일된 소스 코드를 테스트한다.
  • 자바 소스 코드를 기반으로 실행 가능한 자바 프로그램 파일(jar)을 target 폴더에 생성한다.
  • 컴파일된 코드를 패키징하는 과정이다.


3. 프로그램 실행

java -cp 클래스패스 클래스명
  • 컴파일된 jar 파일을 실행한다.
mvn exec:java
  • org.codehaus.mojoexec-maven-plugin을 사용할 경우 실행 가능하다.
  • plugin, configuration 태그 아래 mainClass 태그에 설정한 클래스를 실행한다.


4. 패키지를 로컬 저장소에 설치

mvn install
  • target 폴더에 생성된(빌드된) jar 파일을 로컬 저장소에 설치한다.
  • 설치된 패키지는 dependency 속성으로 다른 패키지에서 참조할 수 있다.


5. 빌드 아티팩트 제거

mvn clean
  • 기존 빌드 결과물(아티팩트)을 제거한다.
  • 빌드에 의해 target 폴더에 생성된 jar 파일을 제거한다.


참고

Comments