Apache Maven
POM - 프로젝트 객체 모델
수색…
POM 구조
프로젝트 객체 모델은 Maven의 기본 단위이며 프로젝트 구조, 의존성 등을 정의합니다.
다음은 POM을 생성하기에 매우 미약합니다.
-
project
루트 -
modelVersion
-4.0.0
으로 설정해야합니다. -
groupId
- 프로젝트의 그룹 ID -
artifactId
-artifactId
의 ID (프로젝트) -
version
- 지정된 그룹의 아티팩트 버전
groupId
, artifactId
및 version
은 Maven 좌표 라고하며 때로는 GAV로 축약됩니다. Maven 저장소에서 프로젝트의 결과 아티팩트를 고유하게 식별합니다 (전체 우주에서 그렇게 해야합니다 ).
최소 샘플 POM은 다음과 같습니다.
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.sample</groupId>
<artifactId>sample-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
POM 상속
상속은 POM의 가장 큰 자산입니다. POM에서 하위 POM으로 다음을 관리 할 수 있습니다.
- 의존성
- 개발자와 공헌자
- 플러그인 목록 (보고서 포함)
- 일치하는 ID로 플러그인 실행
- 플러그인 구성
다음은 상속을 가능하게합니다.
<parent>
<groupId>com.sample</groupId>
<artifactId>sample-app-parent</artifactId>
<version>1.0.0</version>
</parent>
POM 구조는 다음과 같습니다.
<project>
<parent>
<groupId>com.sample</groupId>
<artifactId>sample-app-parent</artifactId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.sample</groupId>
<artifactId>sample-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
POM 집계
다중 모듈 프로젝트의 모듈은 계층 적 구조에서 집계됩니다.
루트 pom
패킹은 다음과 같아야합니다.
<packaging>pom</packaging>
다음은 프로젝트의 디렉토리 구조입니다.
|-- sample-app
\ `-- pom.xml
|-- sample-module-1
| `-- pom.xml
|-- sample-module-2
| `-- pom.xml
루트 POM :
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.sample</groupId>
<artifactId>sample-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>sample-module-1</module>
<module>sample-module-2</module>
</modules>
<dependencyManagement>
...
</dependencyManagement>
</project>
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow