728x90
- 프로젝트에 대한 표준화된 관리 방법을 제공하는 프로젝트 관리 프레임워크
- 모든 프로젝트에 표준화된 디렉터리 구조와 빌드 프로세스 유지
- 필요한 라이브러리를 pom.xml에 정의해 놓으면 네트워크를 통해 라이브러리들을 자동으로 다운 ( 라이브러리 관리 용이 )
- POM을 이용하여 빌드에서부터 시작해서 의존성 관리 및 배포까지 모든 것을 관리
Maven Project 구조
1) src/main/java
- 처리할 소스 ( java, package )
2) src/main/resource
- 설정 파일 ( xml, xsd 등 )
3) src/main/webapps
- JSP, html 파일 등
4) pom.xml
pom.xml 구조 및 사용법
<project>
<modelVersion>POM 모델 버전</modelVersion>
<groupId>그룹 ID (제작자, 회사, 단체 등)</groupId>
<version>프로그램 버전</version>
<packaging>패키지 종류(zip, jar 등)</packaging>
<!--개발의 경우 war를 지정할 수도 있음-->
<name>프로그램 이름</name>
<url>프로젝트와 관련된 Web사이트 주소</url>
<properties>
pom.xml에서 사용하는 속성 값 등
</properties>
<project.build.sourceEncoding>코드인코딩</project.build.sourceEncoding>
<!-- 이 프로그램이 참조하는 라이브러리 정보 -->
<dependencies>
<dependency>
<groupId>그룹 ID</groupId>
<artifactId>jar파일 이름</artifactId>
<version>버전</version>
<scope>언제 사용하는 지</scope>
</dependency>
<dependency>... 생략 ...</dependency>
<dependency>... 생략 ...</dependency>
</dependencies>
</project>
Build Life Cycle??
1) 미리 정의되어 있는 Build들의 순서
2) 각 빌드 단계를 Phase라고 함.
- 특정 순서에 따라 goal이 실행되도록 구조를 제공
- Phase간에는 의존 관계가 있음.
3) 기본적인 Maven Build LifeCylce
- Maven build : 메이븐 빌드를 실행
- Maven build… : 새로운 사용자 빌드를 만든다.
- Maven clean : target에 지정된 모든 소스 삭제
- Maven generate-sources : 컴파일 과정에 포함될 소스 생성
- Maven install : 로컬 저장소에 패키지 복사
728x90