Maven依赖传递排除指定的依赖关系

  

应用场景:projectA依赖projectB, projectB依赖projectC时

  
 <代码> projectA中pom.xml
  & lt; groupId> com.cn.projectA
  & lt; artifactId> projectA
  & lt; version> 1.0 -snapshot
  & lt; dependencies>
  & lt; dependency>
  & lt; groupId> com.cn.projectB
  & lt; artifactId> projectB
  & lt; version> 1.0 b
  & lt; !——方案一:使用execusions排除与C的依赖——比;
  & lt; exclusions>
  & lt; exclusion>
  & lt; groupId> com.cn.projectC
  & lt; artifactId> projectC
  & lt;/exclusion>
  & lt;/exclusions>
  & lt;/dependency>
  & lt;/dependencies>
  
  projectB中的pom.xml
  & lt; groupId> com.cn.projectB
  & lt; artifactId> projectB
  & lt; version> 1.0 b
  & lt; dependencies>
  & lt; dependency>
  & lt; groupId> com.cn.projectC
  & lt; artifactId> projectC
  & lt; version> 1.0 c
  & lt; !——依赖传递选项,默认为假为依赖,真正的为不依赖传递
  方案二:通过可选设置自动或手动,排除与C的依赖
  ——比;
  & lt; optional> false
  & lt;/dependency>
  & lt;/dependencies>
  
  projectC的pom.xml
  & lt; groupId> com.cn.projectC
  & lt; artifactId> projectC
  & lt; version> 1.0 c  

Maven依赖传递排除指定的依赖关系