第 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、Cassandsand、Jasraer 和 OptaPlanner。
BOM 代表"Bill of Materials" - 这是一个 pom.xml
,其主要用途是管理工件的版本,因此最终用户在其项目中导入 BOM 不需要负责哪些工件的特定版本。换句话说,在 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
BOM 相互一致,这意味着如果工件在多个 BOM 中管理,则始终与同一版本一起管理。这样做具有应用程序开发人员不需要处理可能来自各种独立项目的单个工件的兼容性。