maven - 템플릿을 사용하여 web project 만들기
- Development/Tools
- 2011. 10. 16.
1. 사용가능한 템플릿은?
maven에서 기본적으로 제공하는 archetype은 다음의 사이트에서 찾아볼 수 있다.
http://docs.codehaus.org/display/MAVENUSER/Archetypes+List
목록 중, 다음의 항목이 눈에 들어온다.
"simple java web application"
archetype을 maven-archetype-webapp로 지정하여 만들어 보자.
일단, quick-start를 했을 때처럼 다음과 같이 입력해 보았다.
프로젝트는 만들어졌는데, 중간에 출력된 메시지를 보니, 그냥 quick-start로 만들어졌다고 뜬다. (왜?)
그래서, interactive 모드로 다시 한 번 해본다.
목록에서 "19: internal -> org.apache.maven.archetypes:maven-archetype-webapp"를 발견했다. 19번 선택.
groupId : com.luran 입력
artifactId : myweb
1.0-SNAPTSHOT : 엔터
package : 엔터
이제 프로젝트가 정상적으로 생성된 것을 확인할 수 있다.
2. 생성한 프로젝트 확인
1) 생성한 직후
2) mvn test를 수행한 후
* target/classes가 추가되었다.
3) mvn package를 수행한 후
* target에 maven-archiever, myweb, war 등이 추가되었다.
3. 디렉토리 구조를 변경하자
지금 생성된 구조는 너무 복잡해 보인다.
기존에 작업하던 것과 같이, src/test를 빼내고, web 리소스는 WebContent 디렉토리 밑에 넣어보자.
생성된 pom.xml에는 다음과 같이 디렉토리에 대한 설정이 보이지 않는다.
을 실행하면, 최상의 POM 설정을 확인할 수 있다.
본인이 실행한 결과는 다음과 같았다.
위의 데이터를 참조하여, 원래 pom.xml에 추가해 보자.
바꿀 항목은,
다시
를 실행하면, Build Successful이 나타나고, 다음과 같은 디렉토리 구조가 생긴다.
maven에서 기본적으로 제공하는 archetype은 다음의 사이트에서 찾아볼 수 있다.
http://docs.codehaus.org/display/MAVENUSER/Archetypes+List
목록 중, 다음의 항목이 눈에 들어온다.
"simple java web application"
maven-archetype-webapp | org.apache.maven.archetypes | A simple Java web application |
archetype을 maven-archetype-webapp로 지정하여 만들어 보자.
일단, quick-start를 했을 때처럼 다음과 같이 입력해 보았다.
mvn archetype:generate -DgroupId=com.luran -DartifactId=myweb -DarchetypeArtifcatId=maven-archetype-webapp -DinterfactiveMode=false
프로젝트는 만들어졌는데, 중간에 출력된 메시지를 보니, 그냥 quick-start로 만들어졌다고 뜬다. (왜?)
그래서, interactive 모드로 다시 한 번 해본다.
mvn archetype:generate -DarchetypeCatalog=internal
목록에서 "19: internal -> org.apache.maven.archetypes:maven-archetype-webapp"를 발견했다. 19번 선택.
groupId : com.luran 입력
artifactId : myweb
1.0-SNAPTSHOT : 엔터
package : 엔터
이제 프로젝트가 정상적으로 생성된 것을 확인할 수 있다.
2. 생성한 프로젝트 확인
1) 생성한 직후
2) mvn test를 수행한 후
* target/classes가 추가되었다.
3) mvn package를 수행한 후
* target에 maven-archiever, myweb, war 등이 추가되었다.
3. 디렉토리 구조를 변경하자
지금 생성된 구조는 너무 복잡해 보인다.
기존에 작업하던 것과 같이, src/test를 빼내고, web 리소스는 WebContent 디렉토리 밑에 넣어보자.
생성된 pom.xml에는 다음과 같이 디렉토리에 대한 설정이 보이지 않는다.
그런데, 어떻게 바꾸면 될까?4.0.0 com.luran myweb war 1.0-SNAPSHOT myweb Maven Webapp http://maven.apache.org junit junit 4.8.2 test myweb
mvn help:effective-pom
을 실행하면, 최상의 POM 설정을 확인할 수 있다.
본인이 실행한 결과는 다음과 같았다.
4.0.0 com.luran myweb 1.0-SNAPSHOT war myweb Maven Webapp http://maven.apache.org C:\dev\mvntest\myweb\src\main\java src/main/scripts C:\dev\mvntest\myweb\src\test\java C:\dev\mvntest\myweb\target\classes C:\dev\mvntest\myweb\target\test-classes resource-0 C:\dev\mvntest\myweb\src\main\resources resource-1 C:\dev\mvntest\myweb\src\test\resources C:\dev\mvntest\myweb\target myweb maven-antrun-plugin 1.3 maven-assembly-plugin 2.2-beta-2 maven-clean-plugin 2.2 maven-compiler-plugin 2.0.2 maven-dependency-plugin 2.0 maven-deploy-plugin 2.4 maven-ear-plugin 2.3.1 maven-ejb-plugin 2.1 maven-install-plugin 2.2 maven-jar-plugin 2.2 maven-javadoc-plugin 2.5 maven-plugin-plugin 2.4.3 maven-rar-plugin 2.2 maven-release-plugin 2.0-beta-8 maven-resources-plugin 2.3 maven-site-plugin 2.0-beta-7 maven-source-plugin 2.0.4 maven-surefire-plugin 2.4.3 maven-war-plugin 2.1-alpha-2 maven-help-plugin 2.1.1 false central Maven Repository Switchboard http://repo1.maven.org/maven2 never false central Maven Plugin Repository http://repo1.maven.org/maven2 junit junit 4.8.2 test C:\dev\mvntest\myweb\target/site
위의 데이터를 참조하여, 원래 pom.xml에 추가해 보자.
바꿀 항목은,
- sourceDirectory
- testSourceDirectory
- outputDirectory
- testOutputDirectory
- resources
- testResources
pom.xml에 표기한 바와 같이 디렉토리의 구조를 변경했다.4.0.0 com.luran myweb war 1.0-SNAPSHOT myweb Maven Webapp http://maven.apache.org junit junit 4.8.2 test myweb src/java src/test target/classes target/test-classes src/resources test/resources maven-war-plugin WebContent
다시
mvn package
'Development > Tools' 카테고리의 다른 글
maven - Eclipse에서 maven project + WTP 사용하기 (0) | 2011.10.31 |
---|---|
maven - maven project를 eclipse + WTP에서 사용가능하게 바꾸기 (0) | 2011.10.27 |
maven - eclipse indigo + m2eclipse (0) | 2011.10.21 |
maven - Anyframe을 설치해 보자 (0) | 2011.10.18 |
maven - 설치/ 테스트 (0) | 2011.10.13 |
TeamCity 6.5 설치하기 (0) | 2011.10.11 |
[eclipse plug-in] moreunit - 테스트 유닛은 어디에? (0) | 2010.08.31 |
hudson - FindBugs 연동하기 (0) | 2010.07.21 |