Maven

오픈소스 비즈니스 컨설팅
Pnuskgh (토론 | 기여)님의 2016년 8월 20일 (토) 23:52 판
둘러보기로 가기 검색하러 가기

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의 집합으로 실질적인 실행을 담당 한다.
LifeCycle
Dependency 라이브러리의 의존성을 관리 한다.
Profile 배포 환경을 설정 한다.
POM Project Object Model

CLI

명령어 설명
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