繁体   English   中英

为什么 Maven 即使在排除时也不会排除测试依赖关系?

[英]Why won't Maven exclude test dependency even when in exclusion?

我有以下...

<dependency>
        <groupId>com.github.stefanbirkner</groupId>
        <artifactId>system-rules</artifactId>
        <version>[1.19.0,)</version>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
            </exclusion>
        </exclusions>
</dependency>
<dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>test</scope>
</dependency>

但是当我运行mvn clean package我得到......

Dependency convergence error for junit:junit:4.11 paths to dependency are:
+-my.pkg:project:0.0.3-SNAPSHOT
  +-com.github.stefanbirkner:system-rules:1.19.0
    +-junit:junit:4.11
and
+-my.pkg:project:0.0.3-SNAPSHOT
  +-junit:junit:4.13.2

为什么不忽略dep?

“修复”依赖收敛错误的真正方法是使用<dependencyManagement>

把条目

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13.2</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
</dependencyManagement>

进入 POM。 这将为所有传递依赖项设置版本。 不再需要排除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM