gpt4 book ai didi

maven - 通过内部 Nexus 代理所有 maven 依赖库

转载 作者:行者123 更新时间:2023-12-04 21:23:26 25 4
gpt4 key购买 nike

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

我想创建一个稳定的构建环境,并且我希望我的本地 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 中创建一个代理并将其添加到公共(public)组中。

在我的情况下,这些就像 15 或 20 个远程存储库。其中大多数是我的包的进一步依赖,即 在我运行 maven 构建并点击它们之前,我并不明显需要它们 .到目前为止,我发现它们主要在父 POM 中被引用。

我的问题:有没有办法以某种方式配置 Nexus,所以我不需要手动添加每个存储库?

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

我在 Nexus 文档中找到的只是 http://www.sonatype.com/books/nexus-book/reference/config-sect-custom.html :

... you might encounter projects which are unable to retrieve artifacts from your local Nexus installation





... add this repository to Nexus as a new proxy repository and then add the new proxy repository to the public group

最佳答案

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

关于maven - 通过内部 Nexus 代理所有 maven 依赖库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8118905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com