第 5 章 OptaPlanner 和 Quarkus 入门
您可以使用 https://code.quarkus.redhat.com
网站生成红帽构建的 OptaPlanner Quarkus Maven 项目,并自动添加并配置要在应用程序中使用的扩展。然后您可以下载 Quarkus Maven 存储库,或使用在线 Maven 存储库与项目一起使用。
5.1. Apache Maven 和 Red Hat build of Quarkus 复制链接链接已复制到粘贴板!
Apache Maven 是 Java 应用程序开发中使用的分布式构建自动化工具,用于创建、管理和构建软件项目。Maven 使用名为 Project Object Model(POM)文件的标准配置文件来定义项目并管理构建流程。POM 文件描述了使用 XML 文件生成项目打包和输出的模块和组件依赖项、构建顺序和目标。这可确保以正确、一致的方式构建项目。
Maven 存储库
Maven 存储库存储 Java 库、插件和其他构建构件。默认公共存储库是 Maven 2 Central Repository,但存储库可以是私有的和内部存储库,以在开发团队之间共享通用工件。也可从第三方提供存储库。
您可以将在线 Maven 存储库与 Quarkus 项目搭配使用,也可以下载 Red Hat build of 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
文件,请将$MAVEN_HOME/.m2/conf/
目录中的settings.xml
文件复制到~/.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 项目。
流程
- 从红帽客户门户的软件下载页面(需要登录) 下载 Red Hat build of Quarkus Maven 存储库 ZIP 文件。
- 展开下载的存档。
-
将目录更改为
~/.m2/
目录,并在文本编辑器或集成开发环境(IDE)中打开 Mavensettings.xml
文件。 将以下行添加到
settings.xml
文件的 <profiles
> 元素中,其中QUARKUS_MAVEN_REPOSITORY
是您下载的 Quarkus Maven 存储库的路径。QUARKUS_MAVEN_REPOSITORY
的格式必须是file://$PATH
,如file:///home/userX/rh-quarkus-2.7.6.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] 无法对项目 ARTIFACT_NAME; Could 没有解析 PROJECT_NAME的依赖关系
要解决这个问题,请删除 ~/.m2/repository
目录中的本地存储库的缓存版本,以强制下载最新的 Maven 工件。