39.4. 准备 Maven 镜像存储库以离线使用

如果您的 Red Hat Decision Manager 部署无法传出访问公共互联网,您必须准备一个 Maven 存储库,其中包含所有必要的工件的镜像,并将此存储库提供给您的环境。

注意

如果您的 Red Hat Decision Manager 部署连接到互联网,则不需要完成这个步骤。

先决条件

  • 提供可传出访问公共互联网的计算机。

流程

  1. 在与公共互联网的传出连接的计算机上,完成以下步骤:
  2. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 : Red Hat Decision Manager
    • Version: 7.12

      1. 下载并提取 Red Hat Process Automation Manager 7.12.0 Offliner 内容列表 (rhdm-7.12.0-offliner.zip)产品交付文件。
      2. rhdm-7.12.0-offliner.zip 文件的内容提取到任何目录中。
      3. 进入该目录并输入以下命令:

        ./offline-repo-builder.sh offliner.txt

        此命令会创建 存储库 子目录,并将所需的工件下载到此子目录中。这是镜像存储库。

        如果消息报告了一些下载失败,请再次运行相同的命令。如果下载再次失败,请联系红帽支持。

  3. 如果您在 Business Central 之外开发服务,并且有额外的依赖项,请将依赖项添加到镜像存储库。如果将服务作为 Maven 项目开发,您可以使用以下步骤自动准备这些依赖项。在与公共互联网传出连接的计算机上完成步骤。

    1. 创建本地 Maven 缓存目录(~/.m2/repository)的备份,然后清除该目录。
    2. 使用 mvn clean install 命令构建项目源。
    3. 对于每个项目,输入以下命令来确保 Maven 下载项目生成的所有工件的所有运行时依赖项:

      mvn -e -DskipTests dependency:go-offline -f /path/to/project/pom.xml --batch-mode -Djava.net.preferIPv4Stack=true

      /path/to/project/pom.xml 替换为项目的 pom.xml 文件的路径。

    4. 将本地 Maven 缓存目录(~/.m2/repository)的内容复制到所创建的 存储库 子目录中。
  4. 将存储库 子目录的内容复制到部署 Red Hat Decision Manager 的计算机上的目录中。此目录成为离线 Maven 镜像存储库。
  5. 为您的 Red Hat Decision Manager 部署创建和配置 settings.xml 文件,如 第 39.2 节 “修改 Maven 设置文件” 所述。
  6. settings.xml 文件中进行以下更改:

    • 在 &lt ;profile& gt; 标签下,如果缺少 <repositories & gt; 或 <pluginRepositores > 标签,请添加缺少的标签。
    • <repositories > 下添加以下内容:

      <repository>
        <id>offline-repository</id>
        <url>file:///path/to/repo</url>
        <releases>
          <enabled>true</enabled>
        </releases>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>
      </repository>

      /path/to/repo 替换为本地 Maven 镜像存储库目录的完整路径。

    • <pluginRepositories > 下添加以下内容:

      <repository>
        <id>offline-plugin-repository</id>
        <url>file:///path/to/repo</url>
        <releases>
          <enabled>true</enabled>
        </releases>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>
      </repository>

      /path/to/repo 替换为本地 Maven 镜像存储库目录的完整路径。