gpt4 book ai didi

maven - 卡住对 Maven 发布的传递依赖,以获得完全可重现的构建

转载 作者:行者123 更新时间:2023-12-04 20:50:32 27 4
gpt4 key购买 nike

一个与maven基本概念相关的问题:

一旦发布,我想保证项目构建是完全可重现的。因此,所有项目和插件依赖项,包括传递依赖项,都应始终以相同的方式解决。

不幸的是,如果依赖项是根据版本范围来表示的,则情况并非如此。即使设置了项目的直接依赖项(使用 versions:use-releases ),将来仍然可以通过其他方式解决传递依赖项。

如何解决问题?有已知的解决方案吗?

我在想(只是一个想法),关于创建一个插件,它在发布时会将项目的所有依赖项转储到一个单独的文件中,然后一旦将来构建,从文件中读取的依赖项将优先于标准maven 用来解决依赖关系的方式。但恐怕没有插件api。所以它需要一些黑客攻击,我想避免这种情况。还有其他方法吗?

谢谢,
卢卡斯

最佳答案

使用 <dependencyManagement> 卡住 Artifact 版本.即使您不使用版本范围(如您所说),而是使用 3rd 方库(您的依赖项),您的 <dependencyManagement>在指定任何 Artifact 的版本时将具有更高的优先级。

关于maven - 卡住对 Maven 发布的传递依赖,以获得完全可重现的构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11102731/

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