maven 소개
DESCRIPTION
TRANSCRIPT
Maven 소개
이수안 (http://inch772.blog.me)아꿈사 (http://cafe.naver.com/archi-
tect1.cafe)
Maven 이란 ?Maven 의 주요기능
Project Object Model The Build Life Cycle
Maven PluginsThe Dependency Mechanism Repositories
Maven?[NOUN] an expert or connoisseur
[from 네이버사전 ]
A maven (also mavin) is a trusted expert in a particular field, who seeks to pass knowledge on to others. The word maven comes from the Hebrew, via Yiddish, and means one who understands, based on an accumulation of knowledge
[from Wikipedia]
전문가
코딩하던 노인 http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=52&MAEULNO=20&no=44921
Maven?
프로젝트의 빌드 관리하는 툴
스크립트 대신 설정어떻게 할지 보단 무엇을 할지빌드 로직을 재사용의존 성 관리를 응집성 있게
Maven 의 목표
빌드 프로세스를 쉽게 만들기
균일한 빌드 시스템을 제공
Best Practices 제공
프로젝트의 정보를 제공
Maven 이란 ?
Maven 의 주요기능Project Object Model
The Build Life CycleMaven PluginsThe Dependency Mechanism Repositories
Project Object Model
Define What, not How
빌드에 관련된 모든 정보는 pom.xml 에 정의
pom.xml
Project Object Model
pom.xml• 버전 정보 / 설정정보• 의존성• 프로젝트 구조• 각종 어플리케이션 및 테스트를 위한
리소스…
Super POMt
상속
Maven 이란 ?
Maven 의 주요기능Project Object Model
The Build Life CycleMaven PluginsThe Dependency Mechanism Repositories
Build Life Cyclevalidate compile Test
Package Integration-test Verify
Install depoly
Build Life Cycle각 Build 단계는 Plug-in 을 실행하여
원하는 작업을 수행한다 . <plugin> <artifactId>maven-compiler-plugin</artifac-tId> <version>2.0.2</version> <executions> <execution> <id>default-compile</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>default-testCompile</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> </execution> </executions> </plugin>
Build Life Cycle
Series180%
20%
80/20 법칙
거의 기본 설정으로 80% 커버만약 개별적인 빌드 내용이 필요하면 확장가능한 플러그인 이용
Build Life CyclePlug- in 들
Maven 이란 ?
Maven 의 주요기능Project Object Model
The Build Life CycleMaven PluginsThe Dependency MechanismRepositories
The Dependency Mecha-nism
The Dependency Mecha-nism
필요한 의존성을 정의만 하면 됨
Maven 은 .. 연관된 의존성 다운 컴파일과 테스트 과정에서 다운된 의존성
연결
Repository
Group
artifactversion
RepositoryRemote
Local
하나만 더 !
VS
정리Maven 은 프로젝트 빌드 툴POM.XML 무엇을 할지 설정 정보가 정의 됨빌드는 Life Cycle 에 정의된 순서로 진행됨Life Cycle 단계는 Plug-In 을 호출하여
작업수행의존 되는 라이브러리만 정의하면 알아서
의존성 관계를 구현해줌의존 되는 라이브러리는 원격 / 로컬의 Repos-
itory 에서 얻어옴
참고
Apace Maven http://maven.apache.org/
Apache Ant
http://ant.apache.org
The Maven2 Revolution http://www.loria.fr/~molli/pmwiki/uploads/Main/maven.pdf