Build Lifecycle(default)
default
이 라이프사이클은 Maven의 action 프레임워크의 핵심입니다. 표준적인 빌드 절차 순으로 구성되어 있습니다.
vlidate - 프로젝트가 올바른지 그리고 필요로 하는 정보가 모두 가용한지 확인
generate-sources - 컴파일과 관련된 소스 코드 생성
process-srouces - 소스 코드 처리
generate-resources - 패키지에 포함되어 있는 리소스 생성
process-resources - 목적지로 리소스를 복사하고 처리, 패키징 준비
compile - 소스 코드 컴파일
process-classes - 컴파일 후 생성된 파일들의 전 처리.
generate-test-srouces
process-test-sources
generate-test-resources
process-test-resources
test-compile
test - 단위 테스트 프레임워크를 사용하여 테스트를 실행
prepare-package - 패키징하기 전에 필요한 작업을 수행
package - 컴파일 된 코드를 JAR와 같은 배포용 형태로 묶음
pre-integration-test - 통합 테스트에 필요한 작업 수행
integration-test - 통합 테스트를 수행할 곳에 패키지를 배포하고 실행
post-integration-test - 통합 테스트 후에 해야할 일 수행
verify - 패키지를 올바른지 검증
install - 패키지를 로컬 저장소에 설치
deploy - 최종 패키지를 원격 저장소에 복사
프로젝트의 패키징 타입에 따라 위의 Phase들에 연관되어 있는 Goal들이 다릅니다. 따라서 pom 패키징 타입인 프로젝트와
jar 패키징 프로젝트가 같은 빌드 라이프사이클을 가지고 있더라고 각각의 Phase를 실행할 때마다 하는 일이 달라집니다.
예를들어, 위의 경우 package Phase에서 pom 패키징 타입의 프로젝트는 site:attach-descriptor
Goal을 실행하고, jar 패키징 타입의 프로젝트는 jar:jar를 실행합니다.
각각의 패키징 타입에 따라 연관되어있는 goal들은 다음과 같습니다.
process-resources - resources:resources
compile - compiler:compile
process-test-resources - resources:testResources
test-compile - compiler:testCompile
test - surefire:test
package - jar:jar
install - install:install
deploy - deploy:deploy
package - site:attach-descriptor
install - install:install
deploy - deploy:deploy
generate-resources - plugin:descriptor
process-resources - resources:resources
compile - compiler:compile
process-test-resources - resources:testResources
test-compile - compiler:testCompile
test - surefire:test
package - jar:jar, plugin:addPluginArtifactMetadata
install - install:install, plugin:updateRegistry
deploy - deploy:deploy
process-resources - resources:resources
compile - compiler:compile
process-test-resources - resources:testResources
test-compile - compiler:testCompile
test - surefire:test
package - ejb:ejb
install - install:install
deploy - deploy:deploy
process-resources - resources:resources
compile - compiler:compile
process-test-resources - resources:testResources
test-compile - compiler:testCompile
test - surefire:test
package - war:war
install - install:install
deploy - deploy:deploy
generate-resources - ear:generate-application-xml
process-resources - resources:resources
package - ear:ear
install - install:install
deploy - deploy:deploy
process-resources - resources:resources
compile - compiler:compile
process-test-resources - resources:testResources
test-compile - compiler:testCompile
test - surefire:test
package - par:par
install - install:install
deploy - deploy:deploy
커스텀 패키징 타입을 만들 수도 있으며, 그에대한 내용은 나중에 다룹니다. 다음에는 위에서 간단하게 살펴봤던 default Phase들을 조금만 더 들여다보겠습니다.