2012-11-18 69 views
5

運行Maven項目時,在Eclipse Juno 4.2上發生此錯誤。SLF4J:無法加載類「org.slf4j.impl.StaticLoggerBinder」

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
SLF4J: Defaulting to no-operation (NOP) logger implementation 
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 

我沒有使用slf4j進行日誌記錄。其實我不使用任何日誌記錄。

我做錯了什麼?

在我的pom.xml唯一依賴

<dependencies> 
    <dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>4.10</version> 
    <scope>test</scope> 
    </dependency> 
</dependencies> 

編輯:

MVN依賴性:樹

[INFO] \- junit:junit:jar:4.10:test 
[INFO] \- org.hamcrest:hamcrest-core:jar:1.1:test 

編輯2:

我創建了一個新的Maven項目 - > maven-archetype-quickstart。之後,我運行乾淨安裝和eclipse控制檯顯示上述錯誤。我甚至沒有編寫任何代碼。即使我刪除了示例src java文件和示例測試java文件,它也會產生相同的錯誤。


編輯3:

我運行該項目Eclipse之外,也沒有錯誤指示。

+0

那麼,* something *會將slf4j添加到您的類路徑中。運行'mvn dependency:tree'來查看內容。 – bmargulies

+0

它返回的依賴關係:樹[INFO] \ - junit:junit:jar:4.10:test [INFO] \ - org.hamcrest:hamcrest-core:jar:1.1:tes – javaG

+0

然後你沒有運行什麼你認爲你在跑步。請編輯你的問題,準確地說出你正在做什麼來獲得輸出,以及你在哪裏得到它。 – bmargulies

回答

7

當使用捆綁maven版本(m2e)時,Eclipse Juno和Indigo不禁止消息SLF4J:未能加載類「org.slf4j.impl.StaticLoggerBinder」。此行爲在m2e 1.1.0.20120530-0009及之後的版本中提供。

雖然這表示爲錯誤,您的日誌將正常保存。突出顯示的錯誤仍然存​​在,直到修復此錯誤。更多關於m2e support site的信息。

當前可用的解決方案是使用外部maven版本而不是捆綁版本的Eclipse。你可以在下面的問題中找到關於這個解決方案和更多關於這個bug的細節,我相信這個問題是你面對的同樣的問題。

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". error

0

我認爲它實際上是抱怨沒有記錄器的Maven插件。我相信這是無害的。

+0

問題是,我不需要任何日誌框架。我只想構建一個簡單的應用程序。 – javaG

+1

不,我認爲這與使用日誌框架的應用程序無關。 –

0

您可以添加此依賴性:

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-simple</artifactId> 
    <version>1.7.7</version> 
</dependency> 

或者你也可以添加SLF4J-NOPSLF4J-log4j12我還沒有測試。

相關問題