7

我正在使用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>

为什么插件没有检测到传递依赖

4

1 回答 1

6

依赖性分析按预期工作。

项目 C 中的代码使用项目 B 中的类,但它不直接依赖于项目 B。它编译只是因为它通过项目 A 传递依赖于 B。更改项目 A 的依赖关系会破坏项目 C。这是我们试图避免的

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

于 2013-07-16T19:59:25.147 回答