父pom导致子依赖版本不一致
项目的pom文件如下:
最近升级了< parent >
<parent>
<groupId>com.aa.bb</groupId>
<artifactId>cc-dd</artifactId>
<version>4.0.0</version>
<relativePath/>
</parent>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.6</version>
</dependency>
</dependencies>
easyexcel里面的一个依赖如下:
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.7.1</version>
</dependency>
ehcache明明版本是3.7.1,可是实际下载的依赖版本却是3.9.7

怀疑是< parent >的pom里面有dependencyManagement写死了版本为3.9.7,但是parent的pom文件过于复杂,无法找到哪里指定了版本。
解决方法
在当前pom文件中加入dependencyManagement并指明版本为3.7.1
<parent>
<groupId>com.aa.bb</groupId>
<artifactId>cc-dd</artifactId>
<version>4.0.0</version>
<relativePath/>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.7.1</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.6</version>
</dependency>
</dependencies>
此时依赖正确,如下:


在Maven项目中,由于父POM的dependencyManagement指定了ehcache的版本为3.9.7,导致子模块实际下载的ehcache版本与预期(3.7.1)不一致。通过在当前模块的pom文件中添加dependencyManagement并明确指定ehcache为3.7.1版本,成功解决了依赖版本冲突,确保了项目中使用的ehcache版本正确。
6305

被折叠的 条评论
为什么被折叠?



