[英]Why do I keep getting NoSuchMethodError on LocationAwareLogger when running Jetty?
我正在嘗試將Jetty服務器嵌入到我的自動化測試中,所以我在我的項目中添加了以下依賴項:
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>7.6.13.v20130916</version>
<scope>test</scope>
</dependency>
我正在使用Jetty 7,因為Web應用程序使用Java 6,Servlet 2.5。
但是,當我嘗試啟動嵌入式Jetty服務器時,我得到:
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)
我一直試圖弄清楚出了什么問題,但到目前為止,我所采取的步驟都沒有解決問題。 這是我到目前為止所做的一系列清單:
slf4j-api
不兼容版本 slf4j-api
( slf4j-api
) org.slf4j.spi.LocationAwareLogger
這個類似的問題,並在嘗試打印org.slf4j.spi.LocationAwareLogger
和org.slf4j.Marker
時得到null
我希望有人能夠對這個問題提供新的見解。 謝謝。
有關madhead 答案的信息非常有用,但我將記錄我為其他人(將會遇到同樣問題)所做的事情的細節。
正如所提到的答案所示,這是slf4j
罐子的一個問題。 為了驗證我做了以下事情:
slf4j
所有依賴項的排除。 Display Result of Evaluating Selected Text
。 slf4j
,無論我是否為它指定了排除。 slf4j-jdk14 1.5.8
依賴,所以我只是將它更新為1.6.1
。
slf4j-jdk14 1.6.1
下指定排除slf4j-api
,因為它指的是版本1.5.8,並且直接依賴於slf4j-api 1.6.1
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.