2011-11-14 27 views
5

Maven的依赖库我有很大的依赖性的项目投入了大量远程仓库,甚至那些依赖有时需要其他远程仓库。代理都通过内部的Nexus

我想创造一个稳定的编译环境,我想我的本地的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作为新的代理存储库,然后将新的代理存储库添加到公共组

回答

2

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