NoSuchMethodError bei der Verwendung von jersey 2.0
Bin ich mit jersey 2.0 und bei der Durchführung einer Anfrage, die ich bin immer folgende exception:
SEVERE: StandardWrapper.Throwable
java.lang.NoSuchMethodError: com.google.common.collect.Sets.newIdentityHashSet()Ljava/util/Set;
at org.glassfish.jersey.model.internal.CommonConfig.<init>(CommonConfig.java:215)
at org.glassfish.jersey.server.ResourceConfig$State.<init>(ResourceConfig.java:107)
at org.glassfish.jersey.server.ResourceConfig.<init>(ResourceConfig.java:338)
at org.glassfish.jersey.servlet.WebComponent.createResourceConfig(WebComponent.java:373)
at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:259)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:167)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:349)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Diese sind die Gläser, die ich verwende:
Ich glaube, ich habe ein problem mit den Gläsern, die ich verwende, aber ich kann nicht herausfinden, was fehlt.
Ich bin nicht mit maven so bin ich dem Verzehr der Gläser direkt.
Außerdem werde ich auch die Implementierung eines filters (ContainerResponseFilter) in meiner app, vielleicht hat es etwas zu tun mit der Ausnahme, weiß ich nicht.
Siehe meine Antwort in hier.
InformationsquelleAutor julius_am | 2014-07-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist wahrscheinlich verursacht durch verschiedene, inkompatible Versionen von Google Collections (jetzt Teil von Guave) in Ihren Abhängigkeiten.
Der Jersey-Bibliothek kompiliert wurde gegen eine version davon, und jetzt während der Laufzeit eine andere version zuerst geladen wird.
Versuchen Sie, ohne ein google-collections-oder guava-collections aus Ihren Abhängigkeiten.
Scheint, dass Sie die Nutzung 2 welche Abhängigkeiten erfordern jeweils eine bestimmte version der google-Sammlungen, die nicht kompatibel sind mit den jeweiligen anderen. Dies zu beheben ist entweder unmöglich oder sehr schwer zu tun, so kann ich Ihnen nicht helfen hier.
InformationsquelleAutor Kutzi
Habe ich das problem gelöst. Grundsätzlich meine Gläser wohl nicht passen.
Diese Antwort geholfen wir eine Menge. Sie finden dort eine Liste aller benötigten Gläser. Ich habe genau die gleiche Liste, und es funktioniert.
InformationsquelleAutor julius_am