第 5 章 在 Red Hat build of Quarkus 平台上开始使用 Red Hat Build of OptaPlanner
红帽构建的 OptaPlanner 与红帽构建的 Quarkus 平台集成。平台工件依赖项的版本(包括 OptaPlanner 依赖项)在 materials (BOM)文件的 Quarkus bill 中维护,该文件 com.redhat.quarkus.platform:quarkus-bom
。您不需要指定哪些依赖项版本协同工作。相反,您可以将 Quarkus BOM 文件导入到 pom.xml
配置文件,其中依赖项版本包含在 < dependencyManagement>
部分中。因此,您不需要列出由 pom.xml
文件中指定 BOM 管理的单个 Quarkus 依赖项版本。
其他资源
- 有关使用 Maven 插件在 Quarkus 平台上创建 OptaPlanner 项目的说明,请参阅 第 5.2 节 “使用 Maven 插件在 Quarkus 平台上创建红帽构建的 OptaPlanner 项目”。
-
有关使用
code.quarkus.redhat.com
网站在 Quarkus 平台上生成 OptaPlanner 项目的说明,请参阅 第 5.3 节 “使用 code.quarkus.redhat.com 在 Quarkus 平台上创建红帽构建的 OptaPlanner 项目”。 - 有关使用 CLI 在 Quarkus 平台上生成 OptaPlanner 项目的说明,请参阅 第 5.4 节 “使用 Quarkus CLI 在 Quarkus 平台上创建红帽构建的 OptaPlanner 项目”。
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 项目。
流程
在文本编辑器中打开 Maven
~/.m2/settings.xml
文件或集成开发环境(IDE)。注意如果
~/.m2/
目录中没有settings.xml
文件,请将settings.xml
文件从$MAVEN_HOME/.m2/conf/
目录中复制到~/.m2/
目录中。在
settings.xml
文件的<profiles
> 元素中添加以下行:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
settings.xml
文件的 <activeProfiles
> 元素中添加以下行并保存文件。<activeProfile>red-hat-enterprise-maven-repository</activeProfile>
<activeProfile>red-hat-enterprise-maven-repository</activeProfile>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.2. 下载并配置 Quarkus Maven 存储库 复制链接链接已复制到粘贴板!
如果您不想使用在线 Maven 存储库,您可以下载并配置 Quarkus Maven 存储库,以使用 Maven 创建 Quarkus 应用程序。Quarkus Maven 存储库包含 Java 开发人员通常用于构建其应用程序的许多要求。此流程描述了如何编辑 settings.xml
文件来配置 Quarkus Maven 存储库。
当您修改 Maven settings.xml
文件来配置存储库时,这些更改将应用到所有 Maven 项目。
流程
- 从红帽客户门户的软件下载页面(需要登录) 下载 红帽构建的 Quarkus Maven 存储库 ZIP 文件。
- 展开下载的存档。
-
将目录更改为
~/.m2/
目录,并在文本编辑器中打开 Mavensettings.xml
文件或集成开发环境(IDE)。 将以下行添加到
settings.xml
文件的 <profiles
> 元素中,其中QUARKUS_MAVEN_REPOSITORY
是您下载的 Quarkus Maven 存储库的路径。QUARKUS_MAVEN_REPOSITORY
的格式必须是file://$PATH
,例如file:///home/userX/rh-quarkus-2.13.8.GA-maven-repository/maven-repository
。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
settings.xml
文件的 <activeProfiles
> 元素中添加以下行并保存文件。<activeProfile>red-hat-quarkus-maven-repository</activeProfile>
<activeProfile>red-hat-quarkus-maven-repository</activeProfile>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您的 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 工件。