假设现在有如图所示的依赖关系,如果程序需求是使用D2版本而不是D1版本,那么就会发生依赖冲突 有两种方法可以解决这种依赖冲突 1.在<dependencies>中直接添加你对于D2的依赖,那么在解析POM时D2的距离就会比D1的距离离根节点更近,maven的基本原则就会发挥作用,它会优先选用D2而不是D1 2.在对于E的依赖中排除对于D1的依赖,在E的<dependency>中添加<exclude>排除对于D1的依赖这样就不会产生依赖冲突了。