Details
Description
It is possible to get the dependency plugin to fail to recognize methods references.
For example, the following function declaration is the only place in its class where the Guava "Lists" class is referenced (apart from imports):
public static <V> SequenceMap<String, Character, V> forStringKeys() { return new SequenceMap<>(Lists::charactersOf); }
We choose to fail when declared dependencies are thought to be unused, and this usage is simply not detected, resulting in the following output and exception:
[WARNING] Unused declared dependencies found: [WARNING] com.google.guava:guava:jar:18.0:compile [INFO] ------------------------------------------------------------------------ Caused by: org.apache.maven.plugin.MojoExecutionException: Dependency problems found at org.apache.maven.plugin.dependency.analyze.AbstractAnalyzeMojo.execute(AbstractAnalyzeMojo.java:187) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
Will try to get a test and patch attached to this once I figure out where your test case class file resources are coming from.
Attachments
Issue Links
- causes
-
MDEP-679 mvn dependency:analyze detected wrong transitive dependency
- Closed
- is blocked by
-
MSHARED-428 maven-dependency-analyzer does not detect method references
- Closed
- is duplicated by
-
MDEP-560 maven-dependency-plugin ignores method references passed as parameter
- Closed