maven 소개

23
Maven 소소 소소소 (http://inch772.blog.me) 소소소 (http://cafe.naver.com/ architect1.cafe)

Upload: suan-lee

Post on 13-Jan-2015

1.075 views

Category:

Automotive


8 download

DESCRIPTION

 

TRANSCRIPT

Page 1: maven 소개

Maven 소개

이수안 (http://inch772.blog.me)아꿈사 (http://cafe.naver.com/archi-

tect1.cafe)

Page 2: maven 소개

Maven 이란 ?Maven 의 주요기능

Project Object Model The Build Life Cycle

Maven PluginsThe Dependency Mechanism Repositories

Page 3: maven 소개

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]

Page 5: maven 소개

Maven?

프로젝트의 빌드 관리하는 툴

스크립트 대신 설정어떻게 할지 보단 무엇을 할지빌드 로직을 재사용의존 성 관리를 응집성 있게

Page 6: maven 소개

Maven 의 목표

빌드 프로세스를 쉽게 만들기

균일한 빌드 시스템을 제공

Best Practices 제공

프로젝트의 정보를 제공

Page 7: maven 소개

Maven 이란 ?

Maven 의 주요기능Project Object Model

The Build Life CycleMaven PluginsThe Dependency Mechanism Repositories

Page 8: maven 소개

Project Object Model

Define What, not How

빌드에 관련된 모든 정보는 pom.xml 에 정의

pom.xml

Page 9: maven 소개

Project Object Model

pom.xml• 버전 정보 / 설정정보• 의존성• 프로젝트 구조• 각종 어플리케이션 및 테스트를 위한

리소스…

Page 10: maven 소개

Super POMt

상속

Page 11: maven 소개

Maven 이란 ?

Maven 의 주요기능Project Object Model

The Build Life CycleMaven PluginsThe Dependency Mechanism Repositories

Page 12: maven 소개

Build Life Cyclevalidate compile Test

Package Integration-test Verify

Install depoly

Page 13: maven 소개

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>

Page 14: maven 소개

Build Life Cycle

Series180%

20%

80/20 법칙

거의 기본 설정으로 80% 커버만약 개별적인 빌드 내용이 필요하면 확장가능한 플러그인 이용

Page 15: maven 소개

Build Life CyclePlug- in 들

Page 16: maven 소개

Maven 이란 ?

Maven 의 주요기능Project Object Model

The Build Life CycleMaven PluginsThe Dependency MechanismRepositories

Page 17: maven 소개

The Dependency Mecha-nism

Page 18: maven 소개

The Dependency Mecha-nism

필요한 의존성을 정의만 하면 됨

Maven 은 .. 연관된 의존성 다운 컴파일과 테스트 과정에서 다운된 의존성

연결

Page 19: maven 소개

Repository

Group

artifactversion

Page 20: maven 소개

RepositoryRemote

Local

Page 21: maven 소개

하나만 더 !

VS

Page 22: maven 소개

정리Maven 은 프로젝트 빌드 툴POM.XML 무엇을 할지 설정 정보가 정의 됨빌드는 Life Cycle 에 정의된 순서로 진행됨Life Cycle 단계는 Plug-In 을 호출하여

작업수행의존 되는 라이브러리만 정의하면 알아서

의존성 관계를 구현해줌의존 되는 라이브러리는 원격 / 로컬의 Repos-

itory 에서 얻어옴