搜索

第 5 章 在 Red Hat build of Quarkus 平台上开始使用 Red Hat Build of OptaPlanner

download PDF

红帽构建的 OptaPlanner 与红帽构建的 Quarkus 平台集成。平台工件依赖项的版本(包括 OptaPlanner 依赖项)在 materials (BOM)文件的 Quarkus bill 中维护,该文件 com.redhat.quarkus.platform:quarkus-bom。您不需要指定哪些依赖项版本协同工作。相反,您可以将 Quarkus BOM 文件导入到 pom.xml 配置文件,其中依赖项版本包含在 < dependencyManagement> 部分中。因此,您不需要列出由 pom.xml 文件中指定 BOM 管理的单个 Quarkus 依赖项版本。

其他资源

5.1. Apache Maven 和红帽构建的 Quarkus

Apache Maven 是 Java 应用程序开发中使用的分布式构建自动化工具,用于创建、管理和构建软件项目。Maven 使用名为 Project Object Model(POM)文件的标准配置文件来定义项目并管理构建流程。POM 文件描述了模块和组件依赖项,使用 XML 文件描述生成的项目打包和输出的构建顺序和目标。这可确保以正确、一致的方式构建项目。

Maven 存储库

Maven 存储库存储 Java 库、插件和其他构建构件。默认公共存储库是 Maven 2 Central Repository,但存储库可以是私有和内部的,以在开发团队之间共享通用工件。也可从第三方提供存储库。

您可以将在线 Maven 存储库与 Quarkus 项目一起使用,也可以下载红帽构建的 Quarkus Maven 存储库。

Maven 插件

Maven 插件是 POM 文件的定义部分,实现一个或多个目标。Quarkus 应用程序使用以下 Maven 插件:

  • Quarkus Maven 插件(quarkus-maven-plugin): 启用 Maven 来创建 Quarkus 项目,支持生成 uber-JAR 文件,并提供开发模式。
  • Maven Surefire 插件(maven-surefire-plugin):在构建生命周期的测试阶段使用,以便在应用程序上执行单元测试。插件生成包含测试报告的文本和 XML 文件。

5.1.1. 为在线存储库配置 Maven settings.xml 文件

您可以通过配置用户 settings.xml 文件,将在线 Maven 存储库与 Maven 项目搭配使用。这是推荐的方法。与共享服务器上的存储库管理器或存储库一起使用的 Maven 设置提供更好的项目控制和易管理性。

注意

当您修改 Maven settings.xml 文件来配置存储库时,这些更改将应用到所有 Maven 项目。

流程

  1. 在文本编辑器中打开 Maven ~/.m2/settings.xml 文件或集成开发环境(IDE)。

    注意

    如果 ~/.m2/ 目录中没有 settings.xml 文件,请将 settings.xml 文件从 $MAVEN_HOME/.m2/conf/ 目录中复制到 ~/.m2/ 目录中。

  2. settings.xml 文件的 <profiles > 元素中添加以下行:

    <!-- Configure the Maven repository -->
    <profile>
      <id>red-hat-enterprise-maven-repository</id>
      <repositories>
        <repository>
          <id>red-hat-enterprise-maven-repository</id>
          <url>https://maven.repository.redhat.com/ga/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>red-hat-enterprise-maven-repository</id>
          <url>https://maven.repository.redhat.com/ga/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  3. settings.xml 文件的 < activeProfiles > 元素中添加以下行并保存文件。

    <activeProfile>red-hat-enterprise-maven-repository</activeProfile>

5.1.2. 下载并配置 Quarkus Maven 存储库

如果您不想使用在线 Maven 存储库,您可以下载并配置 Quarkus Maven 存储库,以使用 Maven 创建 Quarkus 应用程序。Quarkus Maven 存储库包含 Java 开发人员通常用于构建其应用程序的许多要求。此流程描述了如何编辑 settings.xml 文件来配置 Quarkus Maven 存储库。

注意

当您修改 Maven settings.xml 文件来配置存储库时,这些更改将应用到所有 Maven 项目。

流程

  1. 从红帽客户门户的软件下载页面(需要登录) 下载 红帽构建的 Quarkus Maven 存储库 ZIP 文件。
  2. 展开下载的存档。
  3. 将目录更改为 ~/.m2/ 目录,并在文本编辑器中打开 Maven settings.xml 文件或集成开发环境(IDE)。
  4. 将以下行添加到 settings.xml 文件的 & lt;profiles > 元素中,其中 QUARKUS_MAVEN_REPOSITORY 是您下载的 Quarkus Maven 存储库的路径。QUARKUS_MAVEN_REPOSITORY 的格式必须是 file://$PATH,例如 file:///home/userX/rh-quarkus-2.13.8.GA-maven-repository/maven-repository

    <!-- Configure the Quarkus Maven repository -->
    <profile>
      <id>red-hat-quarkus-maven-repository</id>
      <repositories>
        <repository>
          <id>red-hat-quarkus-maven-repository</id>
          <url>QUARKUS_MAVEN_REPOSITORY</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>red-hat-quarkus-maven-repository</id>
          <url>QUARKUS_MAVEN_REPOSITORY</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  5. settings.xml 文件的 < activeProfiles > 元素中添加以下行并保存文件。

    <activeProfile>red-hat-quarkus-maven-repository</activeProfile>
重要

如果您的 Maven 存储库包含过时的工件,您可能会在构建或部署项目时遇到以下 Maven 错误消息之一,其中 ARTIFACT_NAME 是缺少工件,PROJECT_NAME 是您要构建的项目的名称:

  • 缺少工件 PROJECT_NAME
  • [ERROR] Failed to execute goal on project ARTIFACT_NAME; Could not resolve dependencies for PROJECT_NAME

要解决这个问题,请删除 ~/.m2/repository 目录中的本地存储库的缓存版本,以强制下载最新的 Maven 工件。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.