7

以下是我看到的错误,让我感到困惑的是为什么它依赖于 2 个版本的 my-engine 依赖项。一个是 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>
4

1 回答 1

1

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

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>

于 2018-11-28T13:20:26.227 回答