http://www.sonatype.com/books/mvnex-book/pdf/mvnex-pdf.pdf
Maven은 빌드 결과물을 goal이라는 개념으로 정의하며 . war,jar, Ruby on Rails 를 만드는 goal, junit을 수행하는 goal, jar로 패키징 하는 goal등이 구체적인 goal이 될 수 있다.
이러한 goal을 지원하기 위해서는 Maven에서 plug in 이라는 개념을 사용한다.
하나의 plug in 은 여러개의 goal을 지원한다.
예를 들어 jar를 만드는 plug in의 경우, compiler plug in, jar file 만드는 플러그인등을 지원한다.
(goal 들이 모여서 하나의 build를 만든다. ant의 각 task 개념과 유사하다.)
archetype에 따라서 디렉토리 구조가 다르게 정의 된다.
archetype은 만들고자 하는 애플리케이션 (이를 maven에서는 goal이라고 부른다.) 예를들어 jar, Ruby, Python 에 따라서 디렉토리 구조를 미리 정의해놓은 일종의 profile 개념이다.
generate archetype에 의해서 생성된 디렉토리 구조
Maven Diectory structure
my-app
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
`-- test
`-- java
`-- com
`-- mycompany
`-- app
`-- AppTest.java
Maven Phases
Although hardly a comprehensive list, these are the most common default lifecycle phases executed.
validate: validate the project is correct and all necessary information is available
compile: compile the source code of the project
test: test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed
package: take the compiled code and package it in its distributable format, such as a JAR.
integration-test: process and deploy the package if necessary into an environment where integration tests can be run
verify: run any checks to verify the package is valid and meets quality criteria
install: install the package into the local repository, for use as a dependency in other projects locally
deploy: done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.
There are two other Maven lifecycles of note beyond the default list above. They are
clean: cleans up artifacts created by prior builds
site: generates site documentation for this project
'프로그래밍 > Spring & Maven' 카테고리의 다른 글
Eclipse에서 Spring Maven 개발환경 설정하기 (0) | 2013.03.19 |
---|---|
Maven 스터디 (0) | 2013.03.19 |
Spring 프레임웍 Hadoop-Hive 통합 (0) | 2013.03.19 |
Spring 프레임웍 Hadoop 지원 기능 소개 (Spring Data Apache Hadoop Project) (0) | 2013.03.18 |
Maven 스터디 노트 (2) | 2013.02.01 |