已声明json-smart 2.4.10,Maven依赖树却显示2.3求助
解决Maven依赖树中json-smart版本未生效的问题
检查父POM的依赖管理节点
多模块项目通常会在父POM的dependencyManagement中统一管控依赖版本,子模块的版本配置会被这个节点覆盖。直接查看父POM里的dependencyManagement,如果存在net.minidev:json-smart的配置,将版本修改为2.4.10即可。排查传递依赖的来源
执行精确的依赖树命令,定位引入2.3版本的上游依赖:mvn dependency:tree -Dverbose -Dincludes=net.minidev:json-smart命令结果会显示该依赖的完整传递路径,找到对应的上游依赖后,可选择两种处理方式:
- 升级上游依赖版本,确认其是否已适配更高版本的json-smart;
- 在当前模块的上游依赖配置中添加排除规则,示例:
<dependency> <!-- 替换为实际引入json-smart 2.3的上游依赖信息 --> <groupId>xxx</groupId> <artifactId>xxx</artifactId> <version>xxx</version> <exclusions> <exclusion> <groupId>net.minidev</groupId> <artifactId>json-smart</artifactId> </exclusion> </exclusions> </dependency>
清理本地缓存并强制更新依赖
本地仓库的缓存可能导致版本未生效,执行以下命令强制更新并重新构建:mvn clean install -U同时检查本地Maven的
settings.xml,确认没有通过mirror或profile配置覆盖依赖版本。确认模块的依赖配置优先级
检查当前模块自身的dependencyManagement节点,以及是否继承了其他父POM,确保这些配置中没有覆盖json-smart的版本设置。
内容的提问来源于stack exchange,提问作者sojim2
相关产品推荐
相关产品推荐

