I use dependency:analyze to detect dependency problems. But I found a problem with transitive dependencies, because the plugin does not resolve these dependencies.
When I execute mvn dependency: tree, the output shows transitive dependencies.
Dependencies
project A dependency B project C dependency A
Outuput -> (project C - path) / mvn clean install
[WARNING] Used undeclared dependencies found: dependency B: compile
Plugin
<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>
Why the plugin does not detect a transitive dependency
source share