一、起因
- 引入坐标会载入多个 jar 包,形成依赖传递的现象,会形成依赖上的冲突
二、现象
1、引入 spring-context 包
2、引入 springmvc 包
- mvc和context都依赖与sprng-core一个,依赖的是5.0.8版本,一个依赖的是4.2.4版本。
三、准则
- 在上述方案下,会自动引入 5.0 版本的 core 如果我们需要 4.2 版本的 core 需要如何实现
1、优先原则
- 先声明了 4.2.4版本的,再生命 5.0.8 版本的,由于优先原则,所以引入的 core包是 4.2.4版本的
2、直接依赖原则
- 单独引入一个 core 的依赖,由于直接依赖的优先级大于传递的优先级,所以会使用 4.2.4版本的
3、排除依赖
- 直接将 5.0 版本中的 core 依赖删除
参考
- www.cnblogs.com/jichi/p/116… 做了适当的总结和修改