앞서 프로젝트 구조를 빌드하기 위해 다음의 명령을 입력하였습니다.
# mvn archetype:generate \
-DgroupId=com.oops4u.app \
-DartifactId=app1 \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
제일 앞에 archetype 이란 것이 있는데 이것은 Maven 프로젝트를 템플릿화 해주는 도구입니다.
여기서 템플릿이란 정해놓은 빌드 구조(디렉토리 구조)대로 자동 생성해 주는 것입니다.
groupId는 조직의 고유 아이디(일반적으로 도메인 이름), artifactId 는 프로젝트명 입니다. (groupId + artifactId = package)
Archetype 기반의 새로운 프로젝트 생성은 mvn archetype:generate 명령만으로 각 옵션들을 선택하면서 진행할 수도 있습니다.
(옵션 : archetype, groupId, artifactId, version, ...)
템플릿 종류(Archetype artifacts)는 다음과 같습니다.
- maven-archetype-archetype : sample
- maven-archetype-j2ee-simple : J2EE sample
- maven-archetype-mojo : Maven plugin sample
- maven-archetype-plugin : Maven plugin sample
- maven-archetype-plugin-site : Maven plugin site sample
- maven-archetype-portlet : JSR-268 Portlet sample
- maven-archetype-quickstart : Maven project sample
- maven-archetype-simple : simple Maven project
- maven-archetype-site : APT, XDoc, FML 등의 문서형식을 지원하는 Maven site sample
- maven-archetype-site-simple : Maven site sample
- maven-archetype-webapp : Maven Webapp project sample
archetype artifact 로 생성되는 여러 디렉토리 구조 중, 아래는 표준 디렉토리 레이아웃입니다.
- src/main/java : 소스
- src/main/resources : 리소스
- src/main/filters : 리소스 필터 파일
- src/main/assembly : 어셈블리 기술자
- src/main/config : 환경설정 파일
- src/main/scripts : 스크립트
- src/main/webapp : 웹 어플리케이션 소스
- src/test/java : 테스트 소스
- src/test/resources : 테스트 리소스
- src/test/filters : 테스트 리소스 필터 파일
- src/site : 사이트
- LICENSE.txt : 프로젝트 라이센스
- NOTICE.txt : 프로젝트가 의존하는 라이브러리의 주의 사항
- README.txt : 프로젝트 정보
프로젝트 최상위 디렉토리에는 src 와 target 디렉토리, 프로젝트 기술자로서 pom.xml / build.xml 등이 있으며,
다중 프로젝트나 CVS, .svn 같은 메타데이터가 존재할 수도 있습니다.
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,