[메이븐] 메이븐 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.mojo
의exec-maven-plugin
을 사용할 경우 실행 가능하다.plugin
,configuration
태그 아래mainClass
태그에 설정한 클래스를 실행한다.
4. 패키지를 로컬 저장소에 설치
mvn install
target
폴더에 생성된(빌드된) jar 파일을 로컬 저장소에 설치한다.- 설치된 패키지는
dependency
속성으로 다른 패키지에서 참조할 수 있다.
5. 빌드 아티팩트 제거
mvn clean
- 기존 빌드 결과물(아티팩트)을 제거한다.
- 빌드에 의해
target
폴더에 생성된 jar 파일을 제거한다.
Comments