Maven Mirror - 如果镜像主机不可用,如何绕过?

Era*_*dan 5 vpn maven

我有一个 Maven 镜像存储库(Archiva),例如

<settings>
   <mirrors>     
        <mirror>
        <id>archiva</id>
        <mirrorOf>*</mirrorOf>
        <url>http://myMirrorHost:8080/archiva/repository/internal</url>     
    </mirror>
       </mirrors>
       ...
Run Code Online (Sandbox Code Playgroud)

然而,这是在 VPN 背后,有时我宁愿不使用它/无法连接到 VPM

问题是在 VPN 之外构建时,我收到此错误

myMirrorHost: 未知主机 myMirrorHost -> [帮助 1]

当我希望它超时/如果未找到则不使用镜像

那可能吗?

Ass*_*lov 5

我遇到了类似的情况,我将镜像设置更改为镜像中央,而不是 *:

<mirrors>     
 <mirror>
  <id>archiva</id>
  <mirrorOf>central</mirrorOf>
  <url>http://myMirrorHost:8080/archiva/repository/internal</url>     
 </mirror>
</mirrors>
Run Code Online (Sandbox Code Playgroud)

然后在配置文件中,我定义了另一个存储库,例如 ibiblio:

<profile>
  <id>myprofile</id>

 <activation>
  <activeByDefault>true</activeByDefault>
 </activation>

  <repositories>
    <repository>
      <id>ibiblio.org</id>
       <name>ibiblio Mirror of http://repo1.maven.org/maven2/</name>
       <url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url> 
    </repository>
  </repositories>  
</profile>
Run Code Online (Sandbox Code Playgroud)

现在,当在镜像中找不到某些东西,或者镜像主机不可访问时,maven 会尝试另一个存储库(它是 central 的镜像)。


Mar*_*nor 4

尝试在未连接到 VPN 时以离线模式运行构建

mvn -o clean package
Run Code Online (Sandbox Code Playgroud)

另一种选择是当您连接到不同的网络时使用第二个 Maven 设置文件:

mvn -s $HOME/.m2/settings-alternative.xml clean package
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我还建议指定一个替代的本地存储库位置(在设置文件中),以避免构建混乱。