我有一个大型的多模块项目。 99%的模块依赖于某个第三方库(让我们称之为A),因此对A的依赖记录在项目父POM&因此由所有模块继承。在这99%的情况下,A作为运行时环境的一部分提供。因此依赖关系被标记为已提供。
我遇到过一种情况,其中一个子模块(实际上是孙子,如果重要的话)必须依赖于A.如何从依赖列表中删除A这个模块?
我已尝试combine.self="override"
,但<dependencies>
元素中不允许使用该构造。
答案 0 :(得分:1)
使用dependencyManagement
并添加您不需要的工件的依赖项排除。
这可以作为从我的春天依赖项中排除commons-logging
的魅力:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring-framework.version}</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>