java - 如何排除maven中的嵌套依赖

标签 java spring maven dependency-management spring-ws

我有这个依赖树:

[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 是组 ID
  • com.springsource.org.apache.ws.commons.schema 是 Artifact ID

(来自您的依赖树示例)。

我不认为有排除特定类别的内置功能。

关于java - 如何排除maven中的嵌套依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21290023/

相关文章:

java - Servlet session 不是持久的

java - 寻找最近的点

java - BeanPostProcessor 方法没有被调用

java - 避免让 JPA 自动持久化对象

java - 我如何使用 Maven 作为一个健全的构建系统?

java - 如何从非 Activity 线程调用 Activity ?

java - 使用 @ControllerAdvice 进行 Spring 异常处理提供了集中控制,但我们必须在方法签名中添加所有抛出异常

spring - 为什么 Spring Roo 只显示一个插件?

java - 滑动菜单和 Maven

java - Maven 在 WAR 中包含测试范围的传递依赖项