[
https://issues.apache.org/jira/browse/WICKET-6535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16361946#comment-16361946
]
PandaMonkey commented on WICKET-6535:
-------------------------------------
Hi, [~solomax], thank you very much for your quick reply! :):)(*r)(*r)(*r)
Tomcat-servlet-api is not a direct dependency. It is transitively introduced by
tomcat-catalina.
Yes, currently, servlet-api is a {{provided}} dependency. But at runtime,
users need to provide this library in their own environment. I just suggest
Wicket to avoid the potential conflicts.
> Dependency conflict problems: Conflicting classes exist in different JARs
> -------------------------------------------------------------------------
>
> Key: WICKET-6535
> URL: https://issues.apache.org/jira/browse/WICKET-6535
> Project: Wicket
> Issue Type: Bug
> Components: wicket-http2
> Affects Versions: 8.0.0-M8
> Reporter: PandaMonkey
> Priority: Major
>
> 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:>*
> {color:#d04437} *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:]*{color}
> <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)>
> {color:#d04437}*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:]*{color}
> <javax.servlet.HttpConstraintElement: void <clinit>()>
> <javax.servlet.HttpMethodConstraintElement: void <clinit>()>
> <javax.servlet.ServletSecurityElement: void
> addHttpMethodConstraints(java.util.Collection)>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)