18.2. Apache Karaf용 BOM 파일
BOM(Maven bill of materials) 파일의 목적은 잘 작동하는 Maven 종속성 버전 집합을 제공하여 모든 Maven 아티팩트에 대해 버전을 개별적으로 정의할 필요가 없도록 하는 것입니다.
Apache Karaf용 Fuse BOM은 다음과 같은 이점을 제공합니다.
- POM에 종속성을 추가할 때 버전을 지정할 필요가 없도록 Maven 종속 항목에 대한 버전을 정의합니다.
- 특정 버전의 Fuse에서 완전히 테스트 및 지원되는 선별된 종속성 세트를 정의합니다.
- Fuse 업그레이드 간소화.
Fuse BOM에서 정의한 종속성 세트만 Red Hat에서 지원합니다.
Maven BOM 파일을 Maven 프로젝트에 통합하려면 다음 예와 같이 프로젝트의 pom.xml
파일(또는 상위 POM 파일)에 dependencyManagement
요소를 지정합니다.
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <project ...> ... <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- configure the versions you want to use here --> <fuse.version>7.13.0.fuse-7_13_0-00012-redhat-00001</fuse.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.jboss.redhat-fuse</groupId> <artifactId>fuse-karaf-bom</artifactId> <version>${fuse.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> ... </project>
org.jboss.redhat-fuse
BOM은 Fuse 7의 새로운 기능이며 BOM 버전 관리를 단순화하도록 설계되었습니다. Fuse 빠른 시작 및 Maven archetypes는 여전히 이전 BOM 스타일을 사용하지만 새 버전을 사용하도록 리팩토링되지 않았기 때문입니다. BOM은 모두 올바르며 Maven 프로젝트에서 사용할 수 있습니다. 예정된 Fuse 릴리스에서 빠른 시작 및 Maven archetypes가 새로운 BOM을 사용하도록 리팩터링됩니다.
종속성 관리 메커니즘을 사용하여 BOM을 지정하면 아티팩트 버전을 지정하지 않고 Maven 종속성을 POM에 추가할 수 있습니다. 예를 들어 camel-velocity
구성 요소에 대한 종속성을 추가하려면 POM의 종속성
요소에 다음 XML 조각을 추가합니다.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-velocity</artifactId> </dependency>
이 종속성 정의에서 version
요소를 생략하는 방법을 참조하십시오.