Maven - 依赖关系管理中的多个工件版本

Mir*_*iro 6 maven-3 maven maven-dependency-plugin

是否有一个有效的用例,在POM的依赖关系管理部分中有两个不同版本的同一工件?

我正在看一个根POM包含这样一个例子的项目.项目本身有多个模块,使用不同版本的"重复依赖".因此,一些模块必须在它们的依赖关系中明确地指定工件的版本,以便区分这两者.

如果模块的POM文件必须指定版本,那么在父级的依赖关系管理中复制的原因是什么?即使从依赖关系管理中删除了依赖关系也会被正确查找,那么为什么要首先将它复制到那里呢?

我只是想弄清楚这是不是很好的做法,或者是否有更好的解决方案来应对这种情况.

Rob*_*lte 7

实际上,如果您使用Maven3 +,您将收到如下警告:

[WARNING]
[WARNING] Some problems were encountered while building the effective model for groupId:artifactId:jar:1.0-SNAPSHOT
[WARNING] 'dependencyManagement.dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: junit:junit:jar -> version 3.8.1 vs 3.0 @ line 15, column 18
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
Run Code Online (Sandbox Code Playgroud)

Maven将获得第一个,所以第二个永远不会被使用.只需删除它以防止更多的混乱:)