场景:父项目(或是父父~项目)的依赖包,没有用dependencyManagement(子项目不会直接继承并依赖,而是可选择,此时父项目只是负责管理版本号)管理,而是放在dependencies中,导致子项目被动继承依赖。
解决办法:在子项目的dependencies中,引入父项目,并在依赖父项目的dependency中用<exclusions>排除掉父项目中不需要的依赖包。
如下:A是父父项目,B是父项目,C是子项目
A->B->C,此时A依赖包D,而C想去掉继承依赖包D,则C的POM可以如下写法:
<dependency>
<groupId>A-groupId</groupId>
<artifactId>A-artifactId</artifactId>
<exclusions>
<exclusion>
<groupId>D-groupId</groupId>
<artifactId>D-artifactId</artifactId>
</exclusion>
</exclusions>
</dependency>
版权声明:本文为Javamine原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。