由Maven-Enforcer-Plug引起的依赖收敛错误

时间:2018-07-28 02:30:49

标签: maven maven-enforcer-plugin

以下是我看到的错误,令我感到困惑的是,为什么它取决于我的引擎依赖项的2个版本。一个是0.9.0-20180510.015454-2,另一个是0.9.0-SNAPSHOT。

这是我使用的命令:

mvn clean install -DskipTests

在pom.xml中,我将版本指定为$ {project.version},此处应为0.9.0-SNAPSHOT。有人可以帮我吗?谢谢

[INFO] --- maven-enforcer-plugin:1.3.1:enforce (enforce) @ zeppelin-server ---
[WARNING]
Dependency convergence error for org.apache.hadoop:hadoop-client:2.7.3 paths to dependency are:
+-myproject:my-server:0.9.0-SNAPSHOT
  +-myproject:my-engine:0.9.0-20180510.015454-2
    +-org.apache.hadoop:hadoop-client:2.7.3
and
+-myproject:my-server:0.9.0-SNAPSHOT
  +-myproject:my-engine:0.9.0-SNAPSHOT
    +-org.apache.hadoop:hadoop-client:2.7.5

这是pom.xml中的依赖项

  <dependency>
    <groupId>myproject</groupId>
    <artifactId>my-zengine</artifactId>
    <version>${project.version}</version>
    <classifier>tests</classifier>
    <scope>test</scope>
  </dependency>

<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>my-zengine</artifactId>
  <version>${project.version}</version>
</dependency>

1 个答案:

答案 0 :(得分:0)

您可以通过以下两种方法之一来解决此问题,或者选择忽略它

mvn clean install -Denforcer.fail=false

或对首先导致执行者的每个依赖项添加通配符排除和排除,如下所示。

<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-tools-api</artifactId>
<version>2.5.1</version>
<exclusions>
    <exclusion>
        <groupId>*</groupId>
        <artifactId>*</artifactId>
    </exclusion>
    <exclusion>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-client</artifactId>
    </exclusion>
</exclusions>