“我怎么能?”;联合国继承”;Maven依赖关系?
我有一个大型的多模块项目。99%的模块依赖于某个第三方库(我们称之为a),因此对a的依赖关系记录在项目父POM中&因此由所有模块继承。在这99%的情况下,A是作为运行时环境的一部分提供的&因此依赖项相应地被标记为已提供 我今天遇到了一种情况,其中一个子模块(实际上是孙子,如果这很重要的话)不能依赖于a。如何从该模块的依赖项列表中删除a“我怎么能?”;联合国继承”;Maven依赖关系?,maven,dependency-management,Maven,Dependency Management,我有一个大型的多模块项目。99%的模块依赖于某个第三方库(我们称之为a),因此对a的依赖关系记录在项目父POM中&因此由所有模块继承。在这99%的情况下,A是作为运行时环境的一部分提供的&因此依赖项相应地被标记为已提供 我今天遇到了一种情况,其中一个子模块(实际上是孙子,如果这很重要的话)不能依赖于a。如何从该模块的依赖项列表中删除a 我已经尝试了combine.self=“override”,但是元素中显然不允许使用该构造。使用依赖项管理并添加不需要的工件的依赖项排除 这对于从我的spring
我已经尝试了
combine.self=“override”
,但是
元素中显然不允许使用该构造。使用依赖项管理
并添加不需要的工件的依赖项排除
这对于从我的spring依赖项中排除公共日志记录
非常有用:
<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>
org.springframework
弹簧芯
${spring framework.version}
公用记录
公用记录
我认为没有办法满足您的要求。我认为您必须停止继承(从父模块中删除),并开始在所有子模块中明确声明它。@BenjaminLinus,我也这么认为。这是一个可怕的“修复”,但不会发生:我不打算在300多个模块中单独声明依赖项来解决这个问题。我听说了,我也不想这样做。另一种可能是从1%的子模块中删除“”声明,然后专门声明从父模块继承的所有内容。仍然是一个糟糕的修复,但可能没有触摸300多个模块那么糟糕。只是想一想,我不是问如何排除可传递依赖项:我是问如何防止单个后代继承由祖先直接声明的依赖项。