首页 > 解决方案 > 与具有不同版本的给定依赖项的相同 maven 模块的差异

问题描述

很难用语言来解释我的问题,所以我拍了一张照片,这正是我的问题所在:

在此处输入图像描述

如您所见,我有 3 个相关模块,一个 global、genui 和 web。

genui 依赖于 global,web 依赖于 genui。

直接而言,web 不依赖于 global,但通过 genui 显然可以。

如您所见,如果我看一下web->genui->global的hibernate版本,它是5.2.14,但如果我从genui->global看它,它是5.3.0。

除了 1.0-SNAPSHOT 之外,没有,也从来没有任何版本的这些模块。

我尝试清理,从 .m2/repository 中删除文件,甚至尝试完全清除本地存储库,但没有任何效果。我不知道 maven 从哪里得到 5.2.14 号码,我不记得曾经把它放进去。版本是从父模块中的属性接收的。

我发现问题是由 web 模块的 pom.xml 引起的,更具体地说是这部分:

<dependencyManagement>
...
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
...
</dependencyManagement>

标签: javamaven

解决方案


您可能需要从其中一个 spring 中排除重复的依赖项......验证您的所有依赖项并查看哪些是包含 hibernate 的依赖项。检查您是否也有不同版本的 servlet-api。


推荐阅读