在 Maven2 中,要排除单个传递依赖项,我必须执行以下操作:
<dependency>
<groupId>sample.group</groupId>
<artifactId>sample-artifactB</artifactId>
<version>1</version>
<exclusions>
<exclusion>
<groupId>sample.group</groupId>
<artifactId>sample-artifactAB</artifactId>
</exclusion>
</exclusions>
</dependency>
这种方法的问题在于,我必须对 sample-artifactB
贡献的每个传递依赖项执行此操作。
有没有办法使用某种通配符一次性排除所有传递依赖项,而不是逐一排除?
最佳答案
对我有用的(可能是 Maven 的一个新功能)只是在排除元素中使用通配符。
我有一个多模块项目,其中包含一个“app”模块,该模块在两个 WAR 打包模块中引用。这些 WAR 打包模块之一实际上只需要域类(而且我还没有将它们从应用程序模块中分离出来)。我发现这很有效:
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>app</artifactId>
<version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
groupId 和artifactId 上的通配符排除了通常会传播到使用此依赖项的模块的所有依赖项。
关于maven-2 - 排除单个依赖项的所有传递依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/547805/