Thursday, September 17, 2015

[AndroidAnnotations_Build] 4. Maven build.

Maven Build 환경에 대한 구조를 파악하기 전에 Maven 자체가 무엇이며 Maven으로 할 수 있는 것이 무엇인지 알아보았습니다.

1. Maven 이란?

Maven은 Java를 위한 Build Tool이자 프로젝트 전반의 LifeCycle 관리를 목적으로 하는 툴입니다. Maven을 설치하면 Console 명령어를 이용하여 사용할 수 있습니다. 하지만 Eclipse를 이용하면 Console 명령어가 아닌 m2e plugin을 활용하여 빌드를 사용할 수 있습니다. Maven에서 핵심 키워드는 pom.xml, phase , goal이며 아래에서 이에 대한 설명을 진행하도록 하겠습니다.

2. pom.xml?

POM은 Project Object Model의 약자로 Maven을 이용하는 Project의 root에 존재합니다. 해당 프로젝트에 대한 Dependency, Information 같은 것들을 작성하며 사용합니다. pom.xml에 대한 설명은 다음의 링크 (POM Reference) 에서 확인할 수 있습니다. 그럼 여기서 가장 많이 사용되는 label들에 대한 파악을 해보도록 하겠습니다.

2.1. Maven Coordinates (GroupId,ArtifactId,Version,Packaging)



  4.0.0
 
  com.home
  my-project
  1.0
  war



'groupId:artifactId:version'는 모두 pom.xml 파일에 있어야 하는 조건입니다. 'groupId, vesrion'의 경우 부모로 부터 선언된경우라면 필요하지 않습니다. 'groupId'는 조직이나 프로젝트의 일반적인 고유 값이며, 'artifactId'는 일반적으로 프로젝트로 알려져있는 이름입니다. 'version'은 이름을 짓는것에 마지막 규칙으로 artifact 저장소의 코드 버전을 나누는 것입니다.

'packaging'은 프로젝트의 artifact type입니다. 기본으로 지정되있는 것은 jar이며, 새로운것을 지정하기 위해서는 'pom, jar, maven-plugin, ejb, war, ear, rar, par'이 있습니다. 이 정의는 build lifecycle 지정에 사용됩니다.

3. phase

말 그대로 단계를 뜻하며, Maven 환경에서의 LifeCycle 단계를 의미한다. LifeCycle은 3가지로 분류할 수 있다.

3.1. Default LifeCycle Maven Phase

  1. validate 프로젝트가 정상적인지, 필요한 모든 정보가 있는지 검증하는 단계.
  2. compile 프로젝트의 소스코드를 컴파일 하는 단계.
  3. test unit test framework를 이용하여 테스트 소스코드 컴파일 하는 단계.
  4. package 컴파일된 소스를 배포하는 형태로 만드는 단계.
  5. integration-test통합 테스트를 할 수 있는 환경에 패키지를 배포하는 단계.
  6. verify package를 실행하고 검증해보는 단계
  7. install 패키지를 로컬 저장소에 설치하는 단계
  8. deploy 만들어진 패키지를 외부 저장소에 release 하는 단계

3.2. Other LifeCycle

  1. clean Build전에 생성된 artifact를 청소하는 단계
  2. site 해당 프로젝트의 Document를 생성하는 단계

4. Maven Install

기본적으로 Eclipse나 Intellij 를 사용한다면 해당 IDE 에서 빌드 작업을 수행하기 때문에 따로 maven을 설치하지 않아도 실행되었다. 하지만mvn install 와 같은 CommandLine 명령어를 수행시키기 위해서는 maven을 install을 컴퓨터에 해두어야 한다. 먼저 Install을 하기 위해서는 Download Link 링크로 이동하여 다운로드 받으면 된다.

윈도우 환경에서 진행하였기 때문에 zip 파일을 다운로드 받았다. Download 받은 뒤 Window 환경이었기 때문에 환경변수 아래와 같이 지정해 주었다.

- MAVEN_PATH
- C:\Development\maven\apache-maven-3.3.3\bin

- Path
- ...;%MAVEN_APTH%; ...

위의 작업을 실행하면 Command Line에서의 mvn -v를 치면 아래와 같은 화면이 출력된다.

참고 논문 및 사이트

1. Maven Documentation - https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

2. 메이븐(Maven) 5분 개념 설명 http://qwertyju.egloos.com/5716209

3. Maven 기초 사용법 http://javacan.tistory.com/129

No comments:

Post a Comment