【问题标题】:maven If mirror fails, fall back to originalmaven 如果镜像失败,回退到原来的
【发布时间】:2016-04-23 08:38:59
【问题描述】:

我在 lan 中为 maven 配置了一个 sonatype-nexus,并使用如下所示的 settings.xml 中的镜像配置进行连接。

<mirrors>
 <mirror>
  <mirrorOf>*</mirrorOf>
  <name>nexus.sb.karmalab.net</name>
  <url>http://<lan_repo>/remote-repos</url>
</mirror>

如果关闭,此设置会产生问题。 是否有一些选项可以配置镜像以连接到本地查找失败的远程 repo id。

【问题讨论】:

标签: maven maven-3 nexus


【解决方案1】:

Maven Jira 有 an issue 用于此功能,但它在几年前就被关闭了,没有得到解决。

【讨论】:

    【解决方案2】:

    我有一个类似的设置,我的局域网上有一个 Nexus3 Repository Manager 设置,当我关闭我的 Nexus3 Repository Manager 时遇到了同样的问题。

    根据我阅读的内容,Igor Dvorhak 链接的问题已关闭,并且该主题似乎最近没有被提出。

    无论如何,这是一个对我有用的解决方法。

    你有两个位置来放置 settings.xml

    1. 用户级别 ... 通常在 ${user.home}/.m2/settings.xml 中提供。
    2. 全局级别...通常在 ${maven.conf}/settings.xml 中提供。

    如果定义了用户级别 settings.xml,它优先于全局级别,但您也可以通过为 maven 命令提供带有 settings.xml 路径的 -s 标志来覆盖它。

    您可以在此处了解有关 settings.xml 的更多信息:Maven - Settings Reference

    所以我所做的是在用户级别设置镜像,但是当镜像指向的存储库已关闭(即我们自己的设置 lan 存储库)时,我指示 mvn 命令使用全局 settings.xml,即默认设置为去中心。

    我在设置 apache maven 时碰巧在我的 ${user.home}/.bashrc 文件中有一个名为 M2_HOME 的环境变量,因此我将重用该环境变量来构造路径。然后在apache maven安装文件夹里面有一个conf文件夹,里面包含了全局settings.xml。

    最后是解决离线镜像站点的命令。

    mvn clean install -s $M2_HOME/conf/settings.xml

    注意:如果您在 Windows 操作系统上工作,您的路径可能会有所不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-15
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      相关资源
      最近更新 更多