maven - 설치/ 테스트

1. maven 설치

* 다운로드 사이트 : http://maven.apache.org
 
maven은 위 사이트에서 받을 수 있다. 2011/10/13 현재, 버전 3.0.3이 최신이지만, 기존 프로젝트의 호환성과 안정성 측면에서
옛날 버전이지만 2.2.1을 설치하고, 테스트해 보기로 한다.

apache-maven-2.2.1-bin.zip을 다운받아, 나의 작업 디렉토리인 c:\dev\maven2에 설치한다.
환경변수 MAVEN_HOME을 선언하고, 위 경로를 지정한다. path에  %MAVEN_HOME%\bin을 추가한다.

 "mvn -version"을 입력해보자.




2. 공식 가이드

당연히, apache에서는 공식 가이드(http://maven.apache.org/guides)를 제공하고 있다.
틈틈이 읽어보는 것이 좋을 것 같다. 가이드에는 다음의 내용이 기술되어 있다.

  • 5분 이내 maven 사용하기
  • 30분 이내 maven 사용하기
  • 라이프 사이클 
  • POM
  • repository
  • archetype

3. 5분 + 30분 가이드를 따라해 보자

mvn archetype:generate -DgroupId=com.luran -DartifactId=test \
-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false


위와 같이 변경하여 실행하였다.

생성된 디렉토리 구조는 아래와 같다.

test
|-- pom.xm
l`-- src
|-- main
| `-- java
| `-- com
| `-- luran
| `-- App.java
`-- test
`-- java
`-- com
`-- luran
`-- AppTest.java



저절로 생성된 pom.xml은 아래와 같다.


  4.0.0
  com.luran
  test
  jar
  1.0-SNAPSHOT
  test
  http://maven.apache.org
  
    
      junit
      junit
      3.8.1
      test
    
  

이제 가이드에 나와있는 것처럼, build를 해보자.

mvn package


굉장히 많은 jar 파일들을 알아서 다운로드 하는 것을 볼 수 있다.
(이 많은 파일들은 다 어디로 갔을까?) 
빌드하고 나서, 실행한 결과는 다음과 같다.

 
 
USER_HOME/.m2에 위에서 받은 jar 파일들이 저장된다.
내 PC에서의 USER_HOME = c:/Users/luran이므로 c:/Users/luran/.m2를 확인하면,
repository 디렉토리가 생성되어 있고, 그 내부에 다음과 같이 하위 디렉토리와 jar 파일들이 있는 것을 확인할 수 있다.



그런데, 공식 가이드에 소개된 pom.xml과 달리 내가 따라 만든 프로젝트의 pom.xml에는 junit의 버전이 3.8.1로 되어 있다.
local repository에 가보면, junit디렉토리에, 3.8.1과 4.8.2가 다운로드 되어 있는 것을 확인할 수 있다.

지금, 3.8.1 디렉토리에는
 - junit-3.8.1.jar
 - junit-3.8.1.jar.sha1
 - junit-3.8.1.pom
 - junit-3.8.1.pom.sha1

이 있고, 4.8.2 디렉토리에는
  - junit-4.8.2.pom
  - junit-4.8.2.pom.sha1

만 있다. 그러면, pom.xml에 써놓은 junit의 버전을 3.8.2로부터 4.8.2로 바꾸면?
mvn pakcage를 다시 실행해보자.




화면에 나타난 것처럼, junit-4.0과 4.8.2를 다운로드하는 것을 볼 수 있다. (4.0까지?)
이제 local repository에 가보면, junit 디렉토리에 새로 생성된 4.0과, 내용이 달라진 4.8.2를 발견할 수 있다.

4.0 디렉토리에는
  - junit-4.0.jar
  - junit-4.0.jar.sha1
  - junit-4.0.pom
  - junit-4.0.pom.sha1

이 있고, 4.8.2 디렉토리에는 이제
  - junit-4.8.2.jar (추가)
  - junit-4.8.2.jar.sha1 (추가)
  - junit-4.8.2.pom
  - junit-4.8.2.pom.sha1
이 있다.

물론, 빌드는 성공했고, 실행 결과도 동일하다.

댓글

Designed by JB FACTORY