2장. 종속성 관리
2.1. 새 프로젝트를 시작하기 위한 Quarkus 툴링 링크 복사링크가 클립보드에 복사되었습니다!
특정 Camel Extensions for Quarkus 릴리스는 특정 Quarkus 릴리스에서만 작동해야 합니다.
새 프로젝트에서 종속성 버전을 바로 얻는 가장 쉽고 간단한 방법은 Quarkus 툴 중 하나를 사용하는 것입니다.
- code.quarkus.redhat.com - 온라인 프로젝트 생성기
- Quarkus Maven 플러그인
이러한 도구를 사용하면 확장을 선택하고 새 Maven 프로젝트를 스캐폴드할 수 있습니다.
생성된 pom.xml 은 다음과 유사합니다.
<project>
...
<properties>
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
<quarkus.platform.group-id>com.redhat.quarkus.platform</quarkus.platform.group-id>
<quarkus.platform.version>
<!-- The latest 2.13.x version from https://maven.repository.redhat.com/ga/com/redhat/quarkus/platform/quarkus-bom -->
</quarkus.platform.version>
...
</properties>
<dependencyManagement>
<dependencies>
<!-- The BOMs managing the dependency versions -->
<dependency>
<groupId>${quarkus.platform.group-id}</groupId>
<artifactId>quarkus-bom</artifactId>
<version>${quarkus.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>${quarkus.platform.group-id}</groupId>
<artifactId>quarkus-camel-bom</artifactId>
<version>${quarkus.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- The extensions you chose in the project generator tool -->
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-sql</artifactId>
<!-- No explicit version required here and below -->
</dependency>
...
</dependencies>
...
</project>
사용 가능한 확장은 Quarkus Core, Camel Quarkus 및 Hazelcast, Kogito 및 OptaPlanner와 같은 다른 여러 타사 참여 프로젝트에 걸쳐 있습니다.
BOM은 "Bill of materialss"를 의미합니다 - 주요 목적은 아티팩트 버전을 관리하여 프로젝트의 BOM을 가져오는 최종 사용자가 함께 작동해야 하는 특정 버전을 주의할 필요가 없도록 하는 pom.xml 입니다. 즉, pom.xml 의 < depependencyManagement > 섹션에 가져온 BOM을 사용하면 지정된 BOM에서 관리하는 종속 항목에 대한 버전을 지정하지 않도록 할 수 있습니다.
pom.xml 에 포함된 특정 BOM은 최소한의 일관된 BOM 세트를 선택하도록 구성된 생성기 도구를 사용하여 선택하는 확장 기능에 따라 달라집니다.
pom.xml 파일의 BOM에서 관리하지 않는 나중에 확장을 추가하도록 선택하는 경우 적절한 BOM을 수동으로 검색할 필요가 없습니다. quarkus-maven-plugin 을 사용하면 확장을 선택할 수 있으며 도구는 필요에 따라 적절한 BOM을 추가합니다. quarkus-maven-plugin 을 사용하여 BOM 버전을 업그레이드할 수도 있습니다.
com.redhat.quarkus.platform BOMs는 서로 일치하므로 아티팩트가 둘 이상의 BOM에서 관리되는 경우 항상 동일한 버전으로 관리됩니다. 이는 애플리케이션 개발자가 다양한 독립 프로젝트에서 제공될 수 있는 개별 아티팩트의 호환성을 주의할 필요가 없다는 장점이 있습니다.