- 이 문서는 구루비에서 작성하였습니다.
- 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 출처 : http://wiki.gurubee.net/pages/viewpage.action?pageId=26740434&
- 구루비 지식창고의 모든 문서는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
Maven 프로젝트 생성
1. Maven설치
- 다운로드 URL : http://maven.apache.org/download.html
- 최신 버전을 다운 받아 압축을 푼다.
- 압축을 푼 디렉토리를 MAVEN_HOME 환경 변수에 등록 한다.
- MAVEN_HOME/bin 디렉토리를 path에 등록한다.
- Command 창을 새로 실행시켜 mvn 명령이 실행되는지 확인해 보자.
2. Maven 프로젝트 생성
2.1 mvn 명령어를 이용하여 생성하기
- JAVA프로젝트와 WEB프로젝트를 생성하는 예이다.
-- JAVA 프로젝트 생성 mvn archetype:generate -DgroupId=com.oracleclub.study -DartifactId=oracleclub-java-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -- 웹 프로젝트 생성 mvn archetype:generate -DgroupId=com.oracleclub.study -DartifactId=oracleclub-web-project -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
- 아키타입
- 메이븐에서는 기본적인 프로젝트 구조를 미리 정의하여 제공하는데 이를 아키타입이라고 한다.
- 기본적으로 제공하는 아키타입과 사용자들이 아키타입을 정의하여 제공할 수도 있다.
- Archetypes List 보기
2.2 이클립스를 이용하여 생성하기
- File > New > Maven > Maven Project를 선택
- select project name and location
- maven-archetype-webapp 프로젝트 선택
- groupId, artifactId 입력
3. Maven 디렉토리 구조
3.1 Maven 프로젝트의 기본 디렉토리 구조
- 아래는 Maven 프로젝트의 기본적인 디렉토리 구조이다.
pom.xml src/main/java src/main/webapp/WEB-INF src/main/webapp/WEB-INF/web.xml src/main/resources src/test/java src/test/resources target/classes target/test-classes
- Maven은 디폴트로 구현 소스와 테스트 소스를 분리하여 개발이 가능하도록 지원하고 있다.
- 프로젝트를 빌드할 경우 target 디렉토리에 컴파일된 클래스가 위치하게 된다.
- src/main/java 디렉토리의 구현 코드는 target/classes에 컴파일 된다.
- src/main/test 디렉토리의 테스트 코드는 target/test-classes에 컴파일 된다.
- 빌드를 통하여 최종적으로 생성된 jar 파일은 target/classes의 구현 코드만 jar로 압축한다.
3.2 스터디 예제소소의 기본 디렉토리 구조
- 아래는 오라클클럽 스터디 예제소스의 디렉토리 구조이다.
pom.xml src/main/java src/main/resources src/test/java src/test/resources target/classes target/test-classes webapps/WEB-INF webappsWEB-INF/web.xml filter lib
문서정보
- 이 문서는 구루비에서 작성하였습니다.
- 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 출처 : http://wiki.gurubee.net/pages/viewpage.action?pageId=26740434&
- 구루비 지식창고의 모든 문서는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.