7.4. 使用环境变量或系统属性设置 Maven 镜像
在运行应用程序时,您需要访问 Red Hat Maven 存储库中的工件。这些软件仓库被添加到 Maven 的 settings.xml
文件中。Maven 检查 settings.xml
文件的以下位置:
- 查找指定的 url
-
如果没有找到查找
${user.home}/.m2/settings.xml
-
如果没有找到查找
${maven.home}/conf/settings.xml
-
如果没有找到查找
${M2_HOME}/conf/settings.xml
-
如果没有找到位置,则创建空的
org.apache.maven.settings.Settings
实例。
7.4.1. 关于 Maven 镜像
Maven 使用一组远程存储库来访问工件,这些工件目前在本地存储库中不可用。存储库列表几乎始终包含 Maven Central 存储库,但对于 Red Hat Fuse,它还包含 Maven 红帽存储库。在某些情况下,如果无法或允许访问不同的远程存储库,您可以使用 Maven 镜像机制。镜像会将特定存储库 URL 替换为不同的存储库 URL,因此搜索远程工件时的所有 HTTP 流量都可以定向到单个 URL。
7.4.2. 将 Maven mirror 添加到 settings.xml
要设置 Maven 镜像,请在 Maven 的 settings.xml
中添加以下部分:
<mirror> <id>all</id> <mirrorOf>*</mirrorOf> <url>http://host:port/path</url> </mirror>
<mirror>
<id>all</id>
<mirrorOf>*</mirrorOf>
<url>http://host:port/path</url>
</mirror>
如果在 settings.xml
文件中找不到上述部分,则无法使用镜像。要指定全局镜像但不提供 XML 配置,您可以使用系统属性或环境变量。
7.4.3. 使用环境变量或系统属性设置 Maven 镜像
要使用环境变量或系统属性设置 Maven 镜像,您可以添加:
-
名为 MAVEN_MIRROR_URL 的环境变量到
bin/setenv
文件 -
名为 mavenMirrorUrl 的系统属性到
etc/system.properties
文件
7.4.4. 使用 Maven 选项指定 Maven 镜像 url
要使用替代的 Maven 镜像 url (环境变量或系统属性指定),在运行应用程序时使用以下 maven 选项:
-DmavenMirrorUrl=mirrorId::mirrorUrl
for example,
-DmavenMirrorUrl=my-mirror::http://mirror.net/repository
-DmavenMirrorUrl=mirrorUrl
for example,
-DmavenMirrorUrl=http://mirror.net/repository
.在本例中,<mirror> 的 <id> 只是一个镜像。