maven依赖问题

项目A依赖了项目B,项目B中依赖了commons-io。所以项目A中也间接依赖了commons-io

IDEA编辑器中进行开发时,使用了commons-ioFileUtils类,运行没有问题,但是在进行maven打包时,会报错相关的类找不到符号。

在编辑器中可以看到该类依赖的是commons-io:2.11.0,但是在maven打包时,会报错找不到符号。同时可以看到编辑器中显示还有其他版本的commons-io20240617175156 这说明可能是依赖了多个版本导致的。

使用mvn dependency:tree解析依赖关系,发现确实是通过其他项目间接依赖的commons-io的其他版本。

Maven在解析依赖时,如果遇到了多个版本的同一个依赖,它会选择路径最短的那个。当多个版本路径层级相同时,按列出顺序选择第一个。

这种情况最好是在pom文件中直接添加对commons-io的依赖,或者使用<dependencyManagement>元素来管理依赖的版本。

上次更新: 2024/06/17, 11:58:14
最近更新
01
docker-compose笔记
01-12
02
MySQL数据迁移
11-27
03
Docker部署服务,避免PID=1
11-27
更多文章>