通过内部Nexus代理所有maven依赖项存储库

通过内部Nexus代理所有maven依赖项存储库,maven,repository,nexus,Maven,Repository,Nexus,我有一个项目,在许多远程存储库中有很多依赖项,甚至那些依赖项有时也需要其他远程存储库 我希望创建一个稳定的构建环境,我希望我在本地安装的Nexus能够代理项目的所有需求,这样在我设置完所有内容后,我就可以在不上网的情况下复制构建 即,我的.m2/settings.xml将包含: <mirrors> <mirror> <id>my.public</id> <url>http://localhost:

我有一个项目,在许多远程存储库中有很多依赖项,甚至那些依赖项有时也需要其他远程存储库

我希望创建一个稳定的构建环境,我希望我在本地安装的Nexus能够代理项目的所有需求,这样在我设置完所有内容后,我就可以在不上网的情况下复制构建

即,我的
.m2/settings.xml
将包含:

<mirrors>
    <mirror>
        <id>my.public</id>
        <url>http://localhost:8081/nexus/content/groups/public</url>
        <mirrorOf>*</mirrorOf>
    </mirror>
</mirrors>

我的公众
http://localhost:8081/nexus/content/groups/public
*
当然,这还不够。Nexus不会任意代理从maven安装中收到的每个请求

据我目前的理解,这就是我如何让它工作的,对于我遇到的每个远程存储库,我在Nexus中创建一个代理并将其添加到公共组

在我的例子中,这些类似于15或20个远程存储库。它们中的大多数都是我的软件包的进一步依赖,也就是说,在运行maven构建并点击它们之前,我并不明显需要它们。到目前为止,我发现它们主要在父POM中引用

我的问题是:有没有一种方法可以配置Nexus,这样我就不必手动添加每个存储库了

当我重新阅读我的问题时,听起来我几乎想要一个真正的HTTP代理,但Nexus的意义何在?当然这是一个修辞问题,但是我如何解决这个问题而不手动添加所有这些问题呢

我在Nexus文档中找到的全部内容是:

。。。您可能会遇到无法从本地Nexus安装中检索工件的项目

。。。将此存储库作为新代理存储库添加到Nexus,然后将新代理存储库添加到公共组


我不知道。正因为这个原因,我们目前有30-40个存储库通过Nexus安装镜像。我们在settings.xml中使用了类似的mirror语句,强制每个人将我们的回购协议作为一站式服务。但是,我们(通过策略)强制开发人员不要将存储库添加到项目中的pom文件中。相反,他们会提交请求以添加代理