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 抢先下载工件到Sonatype Nexus以供脱机使用_Maven_Gradle_Nexus_Sonatype - Fatal编程技术网

Maven 抢先下载工件到Sonatype Nexus以供脱机使用

Maven 抢先下载工件到Sonatype Nexus以供脱机使用,maven,gradle,nexus,sonatype,Maven,Gradle,Nexus,Sonatype,我在一个安全敏感的环境中工作,在开发过程中,我必须对我的计算机进行隔离,并将上网作为最后手段。我知道这并不理想 我在本地计算机上设置了一个存储库,但它只在我下载工件时缓存工件,我现在不知道我需要的所有工件,所以我需要缓存所有东西 有没有办法从maven central、Pypi、nuget等下载所有工件?有任何预先包装的斑点吗?这是不可能的。MavenCentral规模巨大,可能有几十个结核病甚至更多 您需要缓存构建所需的工件。如果您需要更多,您需要再次连接到Internet。下面是说明: 创建

我在一个安全敏感的环境中工作,在开发过程中,我必须对我的计算机进行隔离,并将上网作为最后手段。我知道这并不理想

我在本地计算机上设置了一个存储库,但它只在我下载工件时缓存工件,我现在不知道我需要的所有工件,所以我需要缓存所有东西


有没有办法从maven central、Pypi、nuget等下载所有工件?有任何预先包装的斑点吗?

这是不可能的。MavenCentral规模巨大,可能有几十个结核病甚至更多

您需要缓存构建所需的工件。如果您需要更多,您需要再次连接到Internet。

下面是说明:

创建自己的镜像 中央存储库的大小为为了节省我们的带宽和时间,不允许镜像整个中央存储库。(这样做会自动被禁止)。相反,我们建议您将设置为代理

如果您真的想成为官方镜像,请联系我们,告知您的位置,我们将为您进行设置

所以,您所做的本地代理是一个很好的解决方案

现在我想问你一个问题:没有互联网连接,你怎么知道你需要什么图书馆?我的意思是你需要知道一个库的Maven坐标才能下载它,但是没有网络是不可能的,除非你是一个心灵感应者

然后你会说你在一个安全敏感的环境中工作,但是你也会说你想下载所有的中央数据库,并且可以使用任何库。这不是安全工作的方式。当一个人真正关心安全性时,他审核代码并只使用经过验证的工件。任何拥有PGP密钥的人都可以在中央计算机中放置任何东西


还有一件事:托管本地代理存储库有点胡说八道,因为Maven本身将所有需要的工件缓存在
~/.m2/
中。现在您有了相同工件的两个副本:一个副本在本地Nexus中,另一个在您的主目录中。顺便说一句,您可以提前下载当前项目所需的所有内容。

我听说有人使用在线计算机来构建内容,然后将组件传输回他们的安全站点。当然,这是额外的工作,也不能保证你得到的物品是安全的,但对你来说是可能的。我不认为这回答了这里提出的问题,但如果你愿意,我可以把它作为一个答案。