You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "John Lin (JIRA)" <ji...@apache.org> on 2019/04/03 03:46:00 UTC
[jira] [Created] (MDEP-646) mvn dependency:analyze mistakenly treat
backward compatible classes as used undeclared
John Lin created MDEP-646:
-----------------------------
Summary: mvn dependency:analyze mistakenly treat backward compatible classes as used undeclared
Key: MDEP-646
URL: https://issues.apache.org/jira/browse/MDEP-646
Project: Maven Dependency Plugin
Issue Type: Bug
Components: analyze
Affects Versions: 3.1.1
Reporter: John Lin
I have the following dependency in my {{pom.xml}}:
{code}
<dependency>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra-all</artifactId>
<version>2.1.8</version>
</dependency>
{code}
Then a piece of code in my app:
{code}
import java.util.concurrent.ConcurrentHashMap;
public class App {
public void foo () {
ConcurrentHashMap<String, String> m = new ConcurrentHashMap<>();
...
}
}
{code}
Then {{mvn dependency:analyze}} will find a used undeclared dependency:
{code}
[WARNING] Used undeclared dependencies found:
[WARNING] com.boundary:high-scale-lib:jar:1.0.6:compile
{code}
It turns out that {{cassandra-all}} has a dependency on {{high-scale-lib}}, and {{high-scale-lib}} implemented a {{java.util.concurrent.ConcurrentHashMap}} for backward compatibility.
In fact, my app use the built-in {{ConcurrentHashMap}} in JDK, not the {{ConcurrentHashMap}} from {{high-scale-lib}}. So I believe that it is incorrect for the dependency analysis to report it as used.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)