1.这两天开始学习maven,一导入项目就出问题,maven就报红了。
2.马上去网上百度,检查idea的maven配置,查看maven软件、配置文件和本地仓库的配置以及jdk配置,都没有问题。想了想是不是maven镜像有问题,又添加了几个国内的镜像,还是没用。(头有点疼。)
3.搞了半天,突然注意红线旁边括号里有一行字,大致翻译了 一下,意思大概就是与那个包有冲突。(comitted for conflict with1.1.1) 4.找到问题就好办了,通过左侧菜单栏maven dependencies,找到冲突的jar包,再手动指定版本问题解决。
(1)利用intellij idea maven查看maven冲突以及依赖关系 使用快捷键 Ctrl+Alt+Shift+U或点下图这个图标查看依赖树。 依赖树图: (2)依据maven依赖冲突的规则(路径最近者优先),我们应该排除排除下图红线圈出的依赖包。 (3)找到排除的依赖包是被谁引用的,本例中是(spring-core),鼠标双击图中spring-core,进入pom.xml文件使用exclusion标签来去掉要排除的dependency依赖。 (4)添加前的代码:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.2.RELEASE</version> <scope>compile</scope> </dependency> 添加后的代码: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.2.RELEASE</version> <scope>compile</scope> <!-- 去除版本不一致的传递依赖包 --> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency>(5)添加后不再报错
参考了几位博主的博客(十分感谢):下面为传送门 [1]: https://blog.csdn.net/u010930785/article/details/95686811?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.channel_param [2]: https://blog.csdn.net/liu865033503/article/details/85139193