本文主要是介绍IDEA中POM 项目parent中的dependencyManagement中的依赖版本号报红,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
现象:
IDEA中作为管理依赖的parent项目的pom文件中,在dependencyManagement中的dependency,如果指定的版本在本地仓库不存在,并且在子项目中也未引用的时候,会报红。
疑惑:
只是引用了很常见的依赖,并且版本官网可查,为什么会报红,难道下载不下来吗。
分析:
后经验证,其实这是一个展示问题,并不影响运行。不知道这是一个bug还是IDEA有意为之,也许是建议我们不使用就不要引入吧,但是个人觉得报红有点过,报黄或灰就够了。推测应该是根据是否找到相应jar包来判断是否报红,但由于并没有地方实际使用依赖,所以也并不会去主动下载,所以会一直报红。
总之这种情况可以直接忽视,不影响运行。或者删除parent项目中的dependencyManagement中的相应的dependency,或者先在子项目中引入对应的dependency,maven就会去下载这个版本的包,之后就算在子项目中去掉对应依赖,parent中依然不会报红了。
这种情况下的报红有两个条件:
1.parent项目的dependencyManagement中指定的dependency版本在maven本地仓库中没有对应jar包(本质)
2.子项目中没有引用到这个依赖(间接导致1)
解决方案:
1.本地仓库加入jar包,最方便的方式就是在子项目中引用一下(之后可以删掉),让maven下载好jar包
2.子项目没用到的jar包就不用放到dependencyManagement里管理了!
这篇关于IDEA中POM 项目parent中的dependencyManagement中的依赖版本号报红的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!