【发布时间】:2011-12-28 11:13:43
【问题描述】:
我有一个项目,它对许多远程存储库有很多依赖项,甚至这些依赖项有时也需要其他远程存储库。
我想创建一个稳定的构建环境,并且我希望我的本地 Nexus 安装能够代理项目的所有要求,这样我就可以在设置完所有内容后无需上网即可重现构建。
即,我的.m2/settings.xml 将包含:
<mirrors>
<mirror>
<id>my.public</id>
<url>http://localhost:8081/nexus/content/groups/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
但这当然还不够。 Nexus 不会任意代理它从我的 maven 安装中获得的每个请求。
目前据我了解,这就是我的工作方式,对于我遇到的每个远程存储库,我都会在 Nexus 中创建一个代理并将其添加到公共组。
在我的情况下,这些就像 15 或 20 个远程存储库。它们中的大多数都进一步依赖于我的包,即 在我运行 maven 构建并点击它们之前我并不明显需要它们。到目前为止,我发现它们主要在父 POM 中被引用。
我的问题:有没有办法以某种方式配置 Nexus,所以我不需要手动添加每个存储库?
当我重新阅读我的问题时,听起来我几乎想要一个真正的 HTTP 代理,但 Nexus 的意义何在?当然这是一个修辞问题,但是如何在不手动添加所有这些问题的情况下解决这个问题?
我在 Nexus 文档中找到的都是http://www.sonatype.com/books/nexus-book/reference/config-sect-custom.html:
...您可能会遇到无法从本地 Nexus 安装中检索工件的项目
和
...将此存储库作为新的代理存储库添加到 Nexus,然后将新的代理存储库添加到公共组
【问题讨论】:
标签: maven repository nexus