Maven Getting Started

Toggle Space Navigation Tree
Space Map

Maven 기본 정보

자바지기가 생각하는 Maven 스터디 순서

  • Getting Started in 5 Minutes 문서 또는 Getting Started in 30 Minutes 문서를 통하여 Maven이 어떤 방식으로 동작하는지 실행해본다.
  • jar 프로젝트를 생성하고 관리하는 방법에 대하여 실행해본다.
  • war 프로젝트를 생성하고 관리하는 방법에 대하여 실행해본다.
  • 각 프로젝트들간의 의존관계를 Maven을 통하여 관리하는 방법에 대하여 스터디한다.
  • Article: Setting up a Maven repository with Artifactory 문서를 이용하여 Maven Repository에 대한 Mirror 사이트를 만들고 Local Repository를 운영하는 방법에 대하여 분석한다.
  • Maven을 이용할 때의 개발 프로세스를 어떻게 가져갈 수 있는지에 대하여 스터디한다.
  • Maven의 세부 기능을 좀 더 구체적으로 분석하면서 프로젝트에 활용할 수 있는 방법들을 찾는다.

Maven 설치 과정

  • http://maven.apache.org에서 Maven 최신 버전을 다운받는다. 이 문서에서는 maven 2.0.7 버전을 사용하였다.
  • 다운 받은 maven-2.0.7-bin.zip 파일의 압축을 푼 다음 시스템 환경 변수에 MAVEN_HOME을 추가한다.
  • 시스템 환경 변수 PATH에 MAVEN_HOME/bin을 추가한다.
  • Prompt에서 "mvn -version"을 실행하여 Maven이 정상적으로 설치되었는지 확인할 수 있다.

최초 프로젝트 생성

최초의 Maven 프로젝트를 생성하기 위해서 Maven의 archetype 매커니즘을 사용할 수 있다. Archetype은 "다른 비슷한 것을 생성할 수 있는 원래의 패턴 또는 모델"로 정의된다. Maven에서는 Archetype은 프로젝트의 템플릿 역할을 해서 사용자가 입력한 정보를 조합해서 새로운 Maven 프로젝트를 생성한다. Archetype에 대한 자세한 사항은 "Archetype 소개" 문서를 참고하자.

Maven은 생성하려는 프로젝트의 성격에 따라서 여러개의 Archetype을 제공하고 있다. jar 파일 기반의 애플리케이션을 개발하고자 한다면 다음과 같은 방법으로 Maven 기반의 Template 프로젝트를 생성하는 것이 가능하다.

mvn archetype:create -DgroupId=net.javajigi -DartifactId=mysample

웹 애플리케이션을 개발하고자 한다면 다음과 같은 Archetype을 이용하여 Template 프로젝트를 생성할 수 있다.

mvn archetype:create -DgroupId=net.javajigi -DartifactId=mywebapp -DarchetypeArtifactId=maven-archetype-webapp

Template 프로젝트를 생성하고 싶은 디렉토리로 이동한 다음 위 Archetype을 실행할 경우 다음과 같은 Template 프로젝트가 생성된다.

Local Repository 경로 변경

  • Maven Repository의 디폴트 경로는 User Home/.m2/repository 이다. 디폴트 경로를 변경하고자 한다면 다음과 같이 변경하는 것이 가능하다.
  • MAVEN_HOME/conf 디렉토리 하위에 settings.xml 파일을 열어보면 localRepository 엘리먼트가 주석처리 되어 있는 것을 확인할 수 있다.
  • localRepository 엘리먼트를 다음과 같이 설정함으로서 Local Repository의 경로를 다음과 같이 수정함으로서 변경하는 것이 가능하다.
    <localRepository>D:/Repositories/MavenRepository</localRepository>
    

나만의 Maven archetype 생성하기

Maven 빌드시 test 과정을 skip하고 싶다면..

  • 테스트 코드가 있으나 전체 테스트 코드가 성공하지 못할 경우에 유용하게 사용할 수 있을 것으로 생각.
  • Add the parameter -Dmaven.test.skip=true in the command line
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.