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 플러그인을 추가해야 할 것 같습니다~

댓글
댓글 쓰기