프로그래밍/Spring & Maven

Maven 스터디 노트

Terry Cho 2013. 2. 1. 00:21

Maven의 가장큰 특징은 best practice를 기반으로 하며, 마치 표준 처럼 제공하기 때문에, 모든 개발자가 공통으로 사용할 수 있다.
디렉토리 구조, 빌드 배포의 절차등을 템플릿 형태로 제공한다.

mvn archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DgroupId=com.mycompany.app \
  -DartifactId=my-app

groupId - 조직이나 도메인을 구별하기 위한 identitifier  (mvn install시 이 구조로  source directory가 생성됨)
version - 빌드 버전 (artifact 버전)
artifactId - project에 의해서 생성되는 파일명 예를들어 jar를 만드는 프로젝트라면 jar 파일 명은
 {artifactId}-{version}.jar 가 된다.


테스트케이스 Naming Rule
  • **/*Test.java
  • **/Test*.java
  • **/*TestCase.java
mvn install하면, 디렉토리 구조가 잡히는데, 이 디렉토리 구조는 http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html 의 규칙을 따르며 구조의 내용은 다음과 같다.

src/main/javaApplication/Library sources
src/main/resourcesApplication/Library resources
src/main/filtersResource filter files
src/main/assemblyAssembly descriptors
src/main/configConfiguration files
src/main/scriptsApplication/Library scripts
src/main/webappWeb application sources
src/test/javaTest sources
src/test/resourcesTest resources
src/test/filtersTest resource filter files
src/siteSite
LICENSE.txtProject's license
NOTICE.txtNotices and attributions required by libraries that the project depends on
README.txtProject's readme