ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] # 简介 ![](https://img.kancloud.cn/f2/f3/f2f3c4e71741037a4f94111a0c8fc179_816x768.png) 有omitted for duplicate这就是jar包冲突 依赖版本冲突 # 路径近优先 ![](https://img.kancloud.cn/f2/05/f205964f2d0e235861f6e3740a3c6862_733x712.png) 比如儿子的儿子的jar包冲突,可以自己添加个儿子 # 第一声明者优先原则 谁在前面就用谁 ![](https://img.kancloud.cn/16/1d/161d067be7c5ac14f52d3690d71c1116_875x604.png) # 排除原则 ![](https://img.kancloud.cn/25/99/2599667c5d1a4dd5df79ce3b0aee9076_808x627.png) # 版本锁定原则 只起到锁定的作用,没有导入 ![](https://img.kancloud.cn/e7/5f/e75f37cf150e5ff2ef9edbcbf0fcdadd_810x674.png) # optional元素 pom.xml里面依赖dependency的元素标签optional的作用 假如你的Project A的某个依赖D添加了`<optional>true</optional>`,当别人通过pom依赖Project A的时候,D不会被传递依赖进来 当你依赖某各工程很庞大或很可能与其他工程的jar包冲突的时候建议加上该选项,可以节省开销,同时减少依赖冲突