第一问题描述
对于 idea 下的 maven 工程,特别是从其他地方导入的新工程,右边 maven 管理工具中 dependencies 若出现红色波浪线。通常用以下方式尝试解决。
1、
检查 repository 和 settings.xml文件中配置的仓库地址,File –> settings 输入maven,检查local repository的配置和settings.xml中配置的仓库地址。
2、
打开项目 pom.xml 文件,右键 maven –> reimport ,等待maven重新加载依赖。
3、
同上面操作一样,可以同时对整个项目的所有pom.xml文件进行reimport。
打开编译器右边的maven管理工具,点击reimport all maven projects。
第二问题描述
若还是出现红色波浪线,则有极大可能是maven引用的jar包有版本冲突。
IntelliJ IDEA查找依赖关系,解决jar包冲突
maven工程,一个artifact的jar包可能不只一处被依赖;有时候依赖会出现相同的artifact却不同版本,相互存在冲突,这时就需要exclude某个版本。
解决办法
打开pom.xml文件,右键选择 diagrams –> show dependencies ,在这个关联图中可以看到所有包的所有依赖关系。
找到标有红线的包位置(通常可以结合 maven 管理工具中 dependencies 红线位置可以精准定位),点击该依赖包,可以看到与之有冲突的不同版本的包。这时exclude其中一个就好了。
注意: exclude其中一个的时候,注意查看 repository 中,是哪一个版本的包不存在,则exclude该版本。若是所依赖的版本都不存在,则需要单独添加该maven 包了。
第三问题描述
今天还遇到一种情况,依赖会出现红色波浪线。右边maven 管理工具中,点开出问题的包,会看到该包无法继续展开下一级,同时在左边项目的external libraries 中会找不到该出问题的包。
这种情况,查看repository相应版本包的依赖,可以看到该包只有.pom .sha1等文件,而没有jar包。这是一个错误的依赖包,而且通常靠第一种办法是无法解决的,并不能reimport解决。
解决办法
找一个网络好一点的地方,删掉repository中的该包所有相关文件,再在项目中reimport操作。
若是局域网的话,可以在外面下好后再拷贝进局域网repository中去。