Maven

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기

Maven 2.0.8에 대한 전반적인 사항을 정리한다.
Maven은 Java 프로젝트 관리와 통합 관리 도구이다.


http://maven.apache.org/guides/index.html를 번역합니다.
Maven에 대해 관심이 많으신 분은 같이 동참하여 주세요.

설치 가이드

아래 설치 가이드는 Windows Server 2003을 기준으로 작성한 것 입니다. 설치 환경이 틀릴 경우에는 별도의 주석을 달아 주세요.

설치전 사전 준비 사항

Maven 설치

다운로드


  • apache-maven-2.0.8-bin.zip 파일의 압축을 풀어 d:/OpenBiz/11_tools/maven208 에 복사한다.


  • Maven의 지역 보관소(Local Repository)를 설정한다.
    • d:/OpenBiz/91_workspace/mavenRepository 디렉토리를 생성한다.
    • %MAVEN_HOME%/conf/settings.xml 파일에서 다음과 같이 수정한다.
<localRepository>file:///d:/OpenBiz/91_workspace/mavenRepository</localRepository>


  • Maven 설치 후 사용하기 위해서 필요한 환경을 설정한다.
    • M2_HOME=d:/OpenBiz/11_tools/maven208
    • PATH=d:/OpenBiz/11_tools/maven208/bin (기존 PATH에 추가)
    • MAVEN_OPTS=-Xmx512m (필요시 설정)
바탕화면의 "내 컴퓨터"에서 오른 마우스를 클릭한 후 "속성"을 선택한다. "고급" 탭에서 하단에 있는 "환경 변수" 버튼을 누른다. 위에 명시한 환경 변수를 추가 또는 수정한다.

환경 설정

  • 도스창에서 설치된 Maven이 정상적으로 동작하는지 확인한다.
  1. "시작" 메뉴를 누른 후 "실행" 메뉴를 선택한다.
  2. 입력 화면에서 "cmd"를 입력하고 "확인" 버튼을 눌러 도스창을 띄운다.
  3. 다음 명령을 도스창에서 실행한다.
C:\> mvn --version
Maven version: 2.0.8
Java version: 1.6.0_04
OS name: "windows 2003" version: "5.2" arch: "x86" Family: "windows"


  • 네트워크 설정과 관련해서 추가 설정이 필요할 수도 있다. 이는 Maven Configuring Guide를 참고하라.


CentOS에서 maven 설치

  • Maven 설치
wget http://apache.tt.co.kr/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.zip
unzip apache-maven-3.0.5-bin.zip

mv apache-maven-3.0.5 /appl/maven
  • vi .bashrc
export M2_HOME=/appl/maven
export PATH=${PATH}:${M2_HOME}/bin
  • Local Repository 설정
  • Default Repository : ~/.m2/repository
  • Local Repository를 변경하려면 settings.xml 파일에서 설정 부분이 주석 밖에 위치해야 합니다.
mkdir /tmp/mavenRepo
vi /appl/maven/conf/settings.xml
    <localRepository>/tmp/mavenRepo</localRepository>
  • Maven 버전 확인
mvn -version

사용자 가이드

주요 구성 요소

구성 요소 설명
Plugin Goal의 집합으로 실질적인 실행을 담당 한다.
[1]
LifeCycle
Dependency 라이브러리의 의존성을 관리 한다.
Profile 배포 환경을 설정 한다.
POM Project Object Model
group
artifactId
version

http://maven.apache.org/ref/3.2.2/maven-settings/settings.html


CLI

mvn [option] [phase] [plugin:goal]

Phase : Lifecycle의 각 단계

Phase 설명
clean maven을 통해 생성된 것을 모두 삭제 한다.
compile 컴파일 한다. (build)
test 테스트 한다. (test)
-Dmaven.test.skip=true : 테스트를 하지 않는다.
package compile된 결과물을 패키지 파일로 생성 한다. (package)

Build, Package, Test 결과 정리 및 문서화 (report)
install 패키지 파일을 로컬 저장소에 배포 한다. (release)
deploy 패키지 파일을 원격 저장소에 배포 한다. (release)


-P profile명 : 환경에 따라 다르게 설정 한다.

관리자 가이드

m2eclipse 설치

Documentation

Getting Started with Maven

Introductions

  • The Build Lifecycle
  • The POM
  • Profiles
  • Repositories
  • Standard Directory Layout
  • The Dependency Mechanism

Plugins

  • Plugin Development
  • Configuring Plug-ins
  • The Plugin Registry
  • Plugin Prefix Resolution
  • Developing Ant Plugins
  • Developing Java Plugins

Site

  • Creating a Site
  • The APT Format
  • Snippet Macro

Archetypes

  • What is an Archetype
  • Creating Archetypes

Upgrading

  • From Maven 1.x to Maven 2.x
  • Using Maven 1.x repositories with Maven 2.x
  • Relocation of Artifacts

Repositories

  • Installing 3rd party JARs to Local Repository
  • Deploying 3rd party JARs to Remote Repository
  • Coping with Sun JARs
  • Remote repository access through authenticated HTTPS

Guides

  • Creating Assemblies
  • Configuring Archive Plugins
  • Configuring Maven
  • Mirror Settings
  • Deployment and Security Settings
  • Embedding Maven 2.x
  • Generating Sources
  • Working with Manifests
  • Maven Classloading
  • Using Multiple Repositories
  • Using Proxies
  • Using the Release Plugin
  • Using Ant with Maven
  • Using Modello
  • Webapps
  • Using Extensions
  • Building For Different Environments with Maven 2

Testing

  • Reusable Test JARs

Maven Tools and IDE Integration

  • Eclipse
  • IDEA
  • Netbeans 4.0 (4.1 and 5.0)
  • Maven 2.x Auto-Completion Using BASH

Development Guides

  • Building Maven from Scratch
  • Developing Maven
  • Plugin Snapshot Repositories
  • The Plugin Documentation Standard

The Maven Community

  • The Maven Community
  • Helping with Maven
  • Guide for New Committers
  • Testing Development Versions of Plugins
  • 3rd Party Resources

Conventions

  • Maven Conventions
  • Naming Conventions
  • When You Can't Use the Conventions

The Central Repository

  • Uploading Artifacts to the Central Repository
  • Improving the Repository

References

  • POM Overview (Technical Project Descriptor )
  • Settings Overview (Technical Settings Descriptor )
  • Core Plug-ins List
  • Mojo API
  • Glossary
  • Maven Quick Reference Card - PDF

Javadoc API

Here is some useful Javadoc API links to the current version of Maven:

  • Maven Artifact
  • Maven Reporting
  • Maven Plugin API
  • Maven Model
  • Maven Core
  • Maven Settings

You could also browse the full technical documentation references of the current version of Maven here .

Running Maven

Maven Users Centre

Plugin Developers Centre

Maven Repository Centre

Maven Developer Centre

External Resources

Wiki

관련 사이트

참고 문헌

Artifact ID