第 2 章 依赖项管理


特定的红帽构建的 Apache Camel for Quarkus 版本应该只用于特定的 Quarkus 版本。

2.1. quarkus 工具用于启动新项目

获取新项目中相依版本的最简单和最直接的方法是使用其中一个 Quarkus 工具:

这些工具允许您选择扩展并构建新的 Maven 项目。

提示

在 Quarkus Core、Camel Quarkus 和几个其他第三方参与项目(如 Hazelcast、Cassandra、Kogito 和 OptaPlanner)上可用扩展的统一服务器。

生成的 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 3.15.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>
注意

BOM 代表 "Bill of Materials" - 一个 pom.xml,它的主要目的是管理工件版本,以便最终用户在其项目中导入 BOM 不需要处理哪些特定版本的工件。换句话说,在 pom.xml<depependencyManagement > 部分中导入了 BOM,您可以避免为给定 BOM 管理的依赖项指定版本。

pom.xml 文件中最终的特定 BOM 取决于您在生成器工具中选择的扩展。生成器工具需要小心选择最小一致的集合。

如果您选择稍后添加扩展,这不由 pom.xml 文件中的任何 BOM 管理,则不需要手动搜索适当的 BOM。

使用 quarkus-maven-plugin,您可以选择扩展,工具会根据需要添加适当的 BOM。您还可以使用 quarkus-maven-plugin 升级 BOM 版本。

com.redhat.quarkus.platform BOMs 相互一致,这意味着如果工件在多个 BOM 中管理,则始终使用相同的版本管理。这样做的好处是应用程序开发人员不需要满足可能来自不同项目的单个工件的兼容性。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.