Warum muss ich immer NoSuchMethodError auf LocationAwareLogger beim laufen Jetty?

Ich versuche einbetten Jetty-Servers in meine automatisierte tests, so dass ich Hinzugefügt habe, wird die folgende dependency in meinem Projekt:

<dependency>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-servlet</artifactId>
  <version>7.6.13.v20130916</version>
  <scope>test</scope>
</dependency>

Ich bin mit Jetty 7, weil die Web-app nutzt Java 6, Servlet 2.5.

Jedoch, wenn ich versuche zu starten, embedded Jetty-server habe ich bekommen:

java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
    at org.eclipse.jetty.util.log.JettyAwareLogger.log(JettyAwareLogger.java:607)
    at org.eclipse.jetty.util.log.JettyAwareLogger.warn(JettyAwareLogger.java:431)
    at org.eclipse.jetty.util.log.Slf4jLog.warn(Slf4jLog.java:69)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.setFailed(AbstractLifeCycle.java:204)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:74)

Ich habe versucht, herauszufinden, was falsch ist, aber keiner der Schritte, die ich gemacht habe bisher das Problem behebt. Hier ist eine Liste von dem, was ich bisher getan habe:

  • Trace transitiven Abhängigkeiten die Suche nach inkompatiblen Versionen von slf4j-api
  • Versuchen, verschiedene Varianten slf4j-api (1.5.11, 1.6.1, 1.6.4, 1.7.5)
  • Schaute in die einige Quellen von Jetty 7 besonders die pom.xml und gefunden, dass es eine Abhängigkeit zu slf4j 1.6.1
  • Sah in eine ähnliche Frage und bekam null wenn Sie versuchen, zu drucken org.slf4j.spi.LocationAwareLogger, und org.slf4j.Marker

Ich hoffe mir kann jemand einen frischen Einblick in dieses Problem. Danke.

Haben Sie versucht, geben Sie <Ausgrenzung> für slf4j auf der jetty-servlet-Abhängigkeit?
jetty-servlet nicht scheinen, um die transitive Abhängigkeit zu slf4j, das scheint seltsam.

InformationsquelleAutor Psycho Punch | 2013-09-28

Schreibe einen Kommentar