본문 바로가기

소프트웨어/Maven

[Build/Maven] 소개

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
  • maven-clean-plugin : 삭제 플러그인
    • goal
      • clean : 대상 삭제
    • 삭제 대상 디렉토리
      • project.build.directory
      • project.build.outputDirectory
      • project.build.testOutputDirectory
      • project.reporting.outputDirectory
  • maven-compiler-plugin : 컴파일 플러그인
    • goal
      • compile : 프로젝트 소스 컴파일
      • testCompile : 테스트 소스 컴파일

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

  1. compile : 소스코드 컴파일
  2. test : Junit, TestNG와 같은 테스트 프레임워크로 단위테스트 실행
  3. package : package으로 압축
  4. install : 로컬 저장소에 배포
  5. deploy : 원격 저장소에 배포

Clean

  1. clean : maven-clean-plugin을 이용해 모든 산출물을 삭제한다.

Site

  1. site : target/site에 생성
  2. site-deploy : 원격지에 배포


'소프트웨어 > Maven' 카테고리의 다른 글

[Build/Maven] Plugin Phase  (0) 2016.12.02