Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 镜像关系_Maven_Nexus - Fatal编程技术网

Maven 镜像关系

Maven 镜像关系,maven,nexus,Maven,Nexus,我们使用maven/nexus组合,它工作得很好。我们有一些自制的项目/maven插件上传到nexus,每个人都可以按预期访问和使用它。我们的中央hudson build上载/管理nexus工件 我的公司增加了一个远程位置,该位置的网络连接一直是一个问题。一般来说,网络连接速度慢且不可靠 如何在远程位置设置nexus,以便它在我的位置镜像nexus?这样,远程位置的开发人员可以指向本地nexus服务器,该服务器可以镜像其他nexus服务器。我们不希望保留一个位置作为主/控制位置-使生活更轻松 这

我们使用maven/nexus组合,它工作得很好。我们有一些自制的项目/maven插件上传到nexus,每个人都可以按预期访问和使用它。我们的中央hudson build上载/管理nexus工件

我的公司增加了一个远程位置,该位置的网络连接一直是一个问题。一般来说,网络连接速度慢且不可靠

如何在远程位置设置nexus,以便它在我的位置镜像nexus?这样,远程位置的开发人员可以指向本地nexus服务器,该服务器可以镜像其他nexus服务器。我们不希望保留一个位置作为主/控制位置-使生活更轻松

这是正确的方法还是我们可以用其他方法解决这个问题?

这是正确的方法

设置远程位置以镜像主Nexus。(以管理员、存储库、添加、代理存储库的身份登录

然后在开发者的Maven settings.xml中添加远程位置的Nexus作为主Nexus的镜像

首先,访问工件被复制到远程位置


就是这样。

尽管这个问题有点老了,但对于需要支持常春藤和动态版本的存储库的问题,可能还是有兴趣的。对于当前的nexus版本(~2.7)nexus pro智能代理功能现在适用于所有maven用户,应该是解决您的问题的通用解决方案,但对于常春藤定制布局,存在一个问题:

尽管如此,目前它对特殊布局不起作用。问题是,如果连接以某种方式断开,智能代理将不起作用。通常使用动态版本(例如“1.2+”)的请求代理服务器上的自定义布局应该会导致从主服务器获取工件。这还不可能,但可能会出现在更高版本的nexus(3.0)中


我们确保已经完全代理了我们的工件,也在临时连接中断的情况下,通过在主服务器上构建工件列表,然后在从服务器上构建一个列表,然后在代理服务器上调用一个包含完整版本信息的简单wget脚本。它将依次从主服务器上获取丢失的工件。您可以将其称为一种“存储库复制”。

我在dmz内部网中使用maven,但没有任何internet连接。在内部网中,maven central不可用,但releasemanager可以访问internet并代理工件


这在一般情况下似乎很好,但如果主服务器位于防火墙后面,而您希望外部有一个无法访问它的镜像,该怎么办?有没有办法让主服务器“推送”到镜像?还没有。Nexus 2.1中的SmartProxy可以推送工件可用的信息,但不能推送工件本身。