0

我有以下...

<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?

4

1 回答 1

2

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

把条目

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

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

于 2021-04-19T17:14:37.067 回答