Maven 2.1依赖:分析。传递依赖:使用未声明的依赖关系

时间:2013-07-16 19:48:17

标签: java maven maven-2 maven-dependency-plugin

我使用dependency:analyze来检测依赖性问题。但我发现传递依赖项存在问题,因为插件无法解析此依赖项。

当我执行mvn dependency:tree时,输出显示传递依赖。

依赖关系

project A
  dependency B
project C
  dependency A

输出 - > (项目C - 路径)/ mvn clean install

[WARNING] Used undeclared dependencies found:
   dependency B: compile

插件

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.4</version>
    <executions>
        <execution>
            <id>analyze</id>
            <phase>verify</phase>
            <goals>
                <goal>analyze-only</goal>
            </goals>
            <configuration>
                <failOnWarning>true</failOnWarning>
            </configuration>
       </execution>
   </executions>
</plugin>

为什么插件不会检测传递依赖

1 个答案:

答案 0 :(得分:5)

依赖性分析按预期工作。

项目C中的代码使用项目B中的类,但它并不直接依赖于项目B.它只是因为它通过项目A过渡依赖于B而编译。更改项目A的依赖项将破坏项目C.这就是我们所试图避免

这不好,如果代码使用B中的类,它应该直接依赖于B.