Maven Archetype 만들기~



Maven 하면 할수록 재미있는 툴입니다.

Maven 으로 생성된 프로젝트의 구조를 내맘대로 바꿀 수 있는 archetype 을 만들어 보겠습니다.





1. Maven Archetype 을 위한 프로젝트의 생성




콘솔창을 띄워서 아래와 같은 명령을 실행합니다.


mvn archetype:create -DgroupId=


kr.co.vicki


-DartifactId=


maven-vicki-archetype


-DarchetypeArtifactId=maven-archetype-archetype



빌드가 성공하면 아래와 같은 구조가 생성이 됩니다.











2. pom.xml




생성된 pom.xml 은 다음과 같습니다.


maven-vicki-archetype/pom.xml





참고한 가이드에서는

groupId

,

artifactId



version

이 필수적이라고 하네요~ (아닌가;;;)







3. archetype.xml




복사할 소스와 리소스들의 정보가 있는 archetype.xml 입니다.

필요한 소스나 리소스들이 있다면 이 곳에 정의를 합니다.


maven-vicki-archetype/src/main/resources/META-INF/maven/archetype.xml







<id>




pom.xml



artifactId

와 같아야 합니다.


다른 태그들은 프로젝트의 각 부분들을 나타냅니다.


<sources> = src/main/java



<resources> = src/main/resources



<testSources> = src/test/java



<testResources> = src/test/resources



<siteResources> = src/site



복사되는 소스의 패키지 경로가 자동으로 설정되기 위해 수정을 합니다.


maven-vicki-archetype/src/main/resources/archetype-resources/src/main/java/App.java






maven-vicki-archetype/src/main/resources/archetype-resources/src/test/java/AppTest.java









4. prototype pom.xml




새로 만든 archetype 으로 생성되는 프로젝트의 pom.xml 의 원형입니다.


maven-vicki-archetype/src/main/resources/archetype-resources/pom.xml





실행옵션에 따라 값을 설정할 수 있도록 수정을 해주고, 기본적으로 포함시킬 dependency 들을 추가하거나 수정합니다.

저는 junit 버전을 최신버전인 4.5 로 변경하였습니다.






5. Local Repository 배포




maven-vicki-archetype 폴더로 이동하여 다음 명령어를 실행합니다.


mvn install



빌드가 성공하면 Local Repository 에 아래 경로로 배포가 되어있음을 확인할 수 있습니다.


[MavenLocalRepository]/kr/co/vicki/maven-vicki-archetype/1.0-SNAPSHOT











5. 새로만든 Archetype 의 Maven 프로젝트 생성




프로젝트를 생성할 경로에 다음의 명령을 실행합니다.


mvn archetype:create -DarchetypeGroupId=


kr.co.vicki


-DarchetypeArtifactId=


maven-vicki-archetype


-DarchetypeVersion=


1.0-SNAPSHOT


-DgroupId=



vicki.group



-DartifactId=


vicki.artifact






archetypeGroupId

,

archetypeArtifactId



archetypeVersion

은 위에서 만든 내용으로 설정하고,


groupId



artifactId

는 생성될 프로젝트에 맞게 설정합니다.


생성된 프로젝트 구조











하핫... Test 코드에 어노테이션을 썼는데 mvn test 로는 빌드 실패가 나오네요~

org.apache.maven.plugins::maven-compiler-plugin 플러그인을 추가해야 할 것 같습니다~






댓글

가장 많이 본 글