Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Not A Problem
-
8.0.0-M8
-
None
-
None
Description
Hi, by analyzing the dependency tree of your pom.xml and source code, we found that several classes with the same name in different JARs, but they have different implementations. As the JVM only load the classes present first on the classpath and shadow the other duplicate ones with the same name. So the problem will lead to the "NoSuchMethodException" or "NoSuchMethodError". Please notice that. Hope this can help you.
===============projectPath->org.apache.wicket.experimental.wicket8:wicket-http2-tomcat:0.3@D:\ws\release\wicket-rel-wicket-8.0.0-M8\wicket-experimental\wicket-http2\wicket-http2-tomcat\pom.xml
Risk for jar-pair:<javax.servlet:javax.servlet-api:3.1.0:><org.apache.tomcat:tomcat-servlet-api:8.5.19:>
methods that only exist in javax.servlet:javax.servlet-api:3.1.0:: [org.apache.wicket.experimental.wicket8:wicket-http2-tomcat:0.3:->javax.servlet:javax.servlet-api:3.1.0:]
<javax.servlet.GenericServlet: void <clinit>()>
<javax.servlet.http.Cookie: boolean isToken(java.lang.String)>
<javax.servlet.http.NoBodyResponse: void <clinit>()>
<javax.servlet.HttpConstraintElement: java.lang.String[] copyStrings(java.lang.String[])>
<javax.servlet.ServletSecurityElement: java.util.Collection checkMethodNames(java.util.Collection)>
methods that only exist in org.apache.tomcat:tomcat-servlet-api:8.5.19:: [org.apache.wicket.experimental.wicket8:wicket-http2-tomcat:0.3:->org.apache.tomcat:tomcat-catalina:8.5.19:->org.apache.tomcat:tomcat-servlet-api:8.5.19:]
<javax.servlet.HttpConstraintElement: void <clinit>()>
<javax.servlet.HttpMethodConstraintElement: void <clinit>()>
<javax.servlet.ServletSecurityElement: void addHttpMethodConstraints(java.util.Collection)>