ArcheType

2009.07.05 12:42

Archetype은 "다른 비슷한 것을 생성할 수 있는 원래의 패턴 또는 모델"를 의미하는 것으로
Ant의 경우 신규 프로젝트를 시작할때마다 디렉토리 구조를 설정하고 build.xml을 수정하여야 하나 maven에서는 Archetype을 이용하여 프로젝트의 특성에 따라 기본 레이아웃 구조를 생성할수 있는 템플릿 프로젝트를 제공한다.

1. mvn archetype:generate 을 실행하면 maven에서 제공하는 archetype종류중에 하나를
   선택하고 groupId,artifactId,version을 입력하는 화면이 나타난다.  


 현재 총 41가지의 템플릿을 제공하며 groupId,artifactId,version은 사용자 임의로 작성하면 된다.
2. 기본으로 설정된 부분(15번) 은 quickstart라고 하며 java application을 생성하는 구조를 생성해준다.  생성된 구조에서 소스 폴더를 보면 Hello world를 출력하는 기본 소스 코드와 Test코드가 포함되어 있다. 해당 명령을 실행한 폴더 하위 구조에 아래와 같이 기본 디렉토리 구조가 생성이 된다.
  

 

3. 위와 같은 구조가 생성 가능한 설정 파일은
   C:\Documents and Settings\[USER]\.m2\repository\org\apache\maven\archetypes\
       maven-archetype-quickstart\1.0\maven-archetype-quickstart-1.0.jar 파일의 압축을 풀어보면
   
META-INF/maven/archetype.xml 리소스 정의 파일과
   src/main/resources/archetype-resources 디렉터리 밑에 위치한 Archetype 리소스 파일들이
   있다 (이런 특성을  이용하여 나만의 프로젝트 템플릿을  생성할수 있다)

신고
Posted by 하늘바람별_

Maven 설치

2009.07.05 12:42
maven을 설치하는것은 무지무지 쉽다 그냥 maven 최신 파일을 받아서 적당한 곳에 압축 파일을 풀고 시스템 환경변수만 설정하면 된다. 간단히 설치 해보면

1. http://maven.apache.org에서 최신 파일을 다운 받는다. (2009.07.05 현재 최신 파일은 Maven 2.2.0)
2. 다운 받은 apache-maven-2.2.0-bin.zip 파일을 원하는 곳에 압축을 푼다
3. 시스템 환경 변수에 MAVEN_HOME을 추가하고 시스템 환경 변수 PATH에 MAVEN_HOME/bin을 추가
    한다. (단 JAVA_HOME이 설정되어 있어야 한다. 당연히 JDK가 설치 되어 있어야 한다.)

4. 명령 prompt에서 mvn -version을 실행하여 설치된 maven version이 나오면 설치 끝 !!

            


신고
Posted by 하늘바람별_
validate validate the project is correct and all necessary information is available.
initialize initialize build state, e.g. set properties or create directories.
generate-sources generate any source code for inclusion in compilation.
process-sources process the source code, for example to filter any values.
generate-resources generate resources for inclusion in the package.
process-resources copy and process the resources into the destination directory, ready for packaging.
compile compile the source code of the project.
process-classes post-process the generated files from compilation, for example to do bytecode enhancement on Java classes.
generate-test-sources generate any test source code for inclusion in compilation.
process-test-sources process the test source code, for example to filter any values.
generate-test-resources create resources for testing.
process-test-resources copy and process the resources into the test destination directory.
test-compile compile the test source code into the test destination directory
process-test-classes post-process the generated files from test compilation, for example to do bytecode enhancement on Java classes. For Maven 2.0.5 and above.
test run tests using a suitable unit testing framework. These tests should not require the code be packaged or deployed.
prepare-package perform any operations necessary to prepare a package before the actual packaging. This often results in an unpacked, processed version of the package. (Maven 2.1 and above)
package take the compiled code and package it in its distributable format, such as a JAR.
pre-integration-test perform actions required before integration tests are executed. This may involve things such as setting up the required environment.
integration-test process and deploy the package if necessary into an environment where integration tests can be run.
post-integration-test perform actions required after integration tests have been executed. This may including cleaning up the environment.
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

                                                                           

출처 : http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

신고
Posted by 하늘바람별_

BLOG main image
넥스트리 아키텍처팀의 정보를 공유합니다. by 강프로

공지사항

카테고리

분류 전체보기 (10)
아키텍처일반 (0)
Analysis Patterns (1)
개발환경 (5)
xUnit (1)
기타 (3)
Total : 2,355
Today : 0 Yesterday : 0