我正在设置我的settings.xml文件的方式遇到了我认为是catch-22的情况。
目前,当我在办公室时,我使用Nexus作为我们的主要来源。所有回购都反映到Nexus,而Nexus反过来是Central的代理。一切正常。我可以从中央下载文件,也可以从Nexus本地下载文件。
然而,当我不在办公室时,我无法再访问Nexus服务器。所以我更改了我的settings.xml文件以禁用镜像到中央。但是,现在maven抱怨它无法找到托管在我的Nexus上的本地文物,即使它们存在于我当地的m2回购邮件中。
我知道Maven 3使用_maven.repositories文件跟踪工件下载的位置(请参阅this post以及其他资源)。但是,我不确定我应该如何配置我的问题,以便我可以这样移动。
当我不在办公室时,我无法访问我的Nexus,但希望继续使用我的本地仓库获取以前缓存的工件。但是我不想让Maven完全脱机,因为我需要从中央继续使用其他工件来继续工作。
在办公室时settings.xml
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>https://nexus.local/nexus/content/groups/public/</url>
</mirror>
</mirrors>
离开办公室时settings.xml:
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*,!central</mirrorOf>
<url>https://nexus.local/nexus/content/groups/public/</url>
</mirror>
</mirrors>
我的镜子应该配置不同吗?有没有更好的方法来设置它?我意识到我可以删除我的_maven.repositories
文件,但这不是特别实用,我也不确定是可行的。