Maven
Generate Project
1. 기본
mvn archetype:generate -DgroupId=org.somthing -DartifactId=quckstart -DarchetypeArtifact=maven-archetype-quickstart -DinteractiveMode=false
2. 대화 모드 (interactive mode)
mvn archetype:generate -DarchetypeCatalog
Default Configuration
아래 명령어로 확인 가능
mvn help:effective-pom
Program Source
- src/main/resources
- src/main/java
Test Source
- src/test/java
Webapp
- src/main/webapp
Plugin
- maven-assembly-plugin : 어셈블리 생성 플러그인
- goal
- single : 대상 확장자로 어셈블리를 만듦
- others : deprecated 될 예정
- 확장자 : zip, tar, jar, dir, war
- goal
- maven-clean-plugin : 삭제 플러그인
- goal
- clean : 대상 삭제
- 삭제 대상 디렉토리
- project.build.directory
- project.build.outputDirectory
- project.build.testOutputDirectory
- project.reporting.outputDirectory
- goal
- maven-compiler-plugin : 컴파일 플러그인
- goal
- compile : 프로젝트 소스 컴파일
- testCompile : 테스트 소스 컴파일
- goal
Build
- target/classes : source 파일이 컴파일되어 저장 됨
- target/test-classes : test source 파일이 컴파일되어 저장 됨
- target/proget_name : target/classes 파일들이 하위 WEB-INF/classes로 복사 됨, test는 제외
- target/surfire-reports : 빌드시 생성된 리포트 문서 위치
Maven Life Cycle
메이븐은 ant와 다르게 빌드순서를 미리 정의해놓았다(메이븐의 장점이자 단점)
이빌드 순서를 Life cycle이라 부르며, 각각의 빌드 단계를 Phase라 부른다.
Default
- compile : 소스코드 컴파일
- test : Junit, TestNG와 같은 테스트 프레임워크로 단위테스트 실행
- package : package으로 압축
- install : 로컬 저장소에 배포
- deploy : 원격 저장소에 배포
Clean
- clean : maven-clean-plugin을 이용해 모든 산출물을 삭제한다.
Site
- site : target/site에 생성
- site-deploy : 원격지에 배포
'소프트웨어 > Maven' 카테고리의 다른 글
[Build/Maven] Plugin Phase (0) | 2016.12.02 |
---|