我有这个依赖树:
[INFO] +- org.springframework.ws:org.springframework.ws:jar:2.1.0.RELEASE:compile
[INFO] | +- org.springframework:org.springframework.aop:jar:3.1.1.RELEASE:compile
[INFO] | | \- org.aopalliance:com.springsource.org.aopalliance:jar:1.0.0:compile
[INFO] | +- org.springframework:org.springframework.oxm:jar:3.1.1.RELEASE:compile
[INFO] | \- org.springframework.ws:org.springframework.xml:jar:2.1.0.RELEASE:compile
[INFO] | \- org.apache.ws:com.springsource.org.apache.ws.commons.schema:jar:1.3.2:compile
我想排除(最后一个):
org.apache.ws:com.springsource.org.apache.ws.commons.schema:jar:1.3.2
这是(根据它的 pom):
<groupId>org.apache.ws.commons.schema</groupId>
<artifactId>XmlSchema</artifactId>
所以我在根 Artifact (org.springframework.ws)中定义:
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>org.springframework.ws</artifactId>
<version>2.1.0.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.apache.ws.commons.schema</groupId>
<artifactId>XmlSchema</artifactId>
</exclusion>
</exclusions>
</dependency>
并没有真正改变。我想排除的 Artifact 仍然存在。任何人都可以帮助我如何让它工作?
最佳答案
排除不排除单独的类。它适用于 Artifact ,即 jar 文件。你确实可以使用这样的标签排除第三方依赖:
<exclusion>
<groupId>org.apache.ws</groupId>
<artifactId>com.springsource.org.apache.ws.commons.schema</artifactId>
</exclusion>
地点:
org.apache.ws
是组 IDcom.springsource.org.apache.ws.commons.schema
是 Artifact ID
(来自您的依赖树示例)。
我不认为有排除特定类别的内置功能。
关于java - 如何排除maven中的嵌套依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21290023/