gpt4 book ai didi

java - Maven:首先使用容器依赖关系解决依赖关系

转载 作者:行者123 更新时间:2023-12-02 01:47:54 25 4
gpt4 key购买 nike

我有一个插件项目,它作为依赖项添加到其他容器项目中。

现在,这个插件项目使用了许多常见的依赖项,例如 spring-security、commons-lang 等。

通常,容器项目包含自己的此类频繁依赖项的版本。因此,当我们添加插件依赖项时,会发生冲突,依赖项会根据常规 maven 依赖项解析器 并根据 scopes可选 标签来解析在插件项目依赖项中提供。

是否有一种方法可以首先使用父依赖项中的版本来解析所有依赖项,如果它们不可用,则使用插件依赖项中指定的版本。

注意:可选和作用域运行时存在一个问题,即这些依赖项是由容器提供的,因此违背了提供无忧无虑的单一依赖项来添加插件依赖项的目标。

最佳答案

在您的插件 pom 中,将依赖项的版本定义为您知道插件能够使用的版本范围。如果容器依赖项重叠,则将使用该依赖项。如果找不到容器和插件所需的依赖项的重叠版本,则会产生错误,因为协商失败。不对依赖项使用特殊范围,因为您希望在必要时将它们包含到容器中,

参见:

https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html

还有:

https://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-project-dependencies.html#pom-relationships-sect-version-ranges

关于java - Maven:首先使用容器依赖关系解决依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53476415/

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