2014-02-28 43 views
0

我設置一個基本的Java程序,我下面這個tutorial,並有這個確切代碼:LoggerFactor.getLogger不能被解析爲一個類型

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 

public class HelloWorld { 
    public static void main(String[] args) { 
    Logger logger = LoggerFactory.getLogger(HelloWorld.class); 
    logger.info("Hello World"); 
    } 
} 

我有罐子SLF4J-API-1.7.5.jar和我的構建路徑上的slf4j-log4j12-1.7.5 jar。我不明白是什麼給了,我可以F3(源代碼查找)的LoggerFactory類中存在getLogger方法。我搜索了這個,似乎是唯一的麻煩,這個問題。有任何想法嗎?

這裏是我的Eclipse的.classpath:

<xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="con" path="org.eclipse.jdit..../> 
    <classpathentry kind="lib" path="/home/Desktop/slf4j-api-1.7.5.jar" sourcepath="/home/Desktop/slf4j-api-1.7.5.jar"/> 
    <classpathentry kind="lib" path="slf4j-log4j12-1.7.5.jar"/> 
    <classpathentry kind="lib" path="log4j-1.2.17.jar"/> 
    <classpathentry kind="output" path="bin"/> 
</classpath> 
+0

什麼時候出現錯誤? Eclipse是否標記了LoggerFactory的使用(並且標題中的LoggerFactor是一個錯字?)?或者你在運行時遇到錯誤? – sheltem

+0

Eclipse將其標記爲 – smuggledPancakes

+0

如果Eclipse無法解析該類,則它不是構建路徑的一部分。轉到項目的屬性(通過右鍵單擊並選擇屬性),然後選擇「Java構建路徑」並切換到「庫」選項卡。有沒有指向slf4j-api-1.7.5.jar的條目?如果沒有,請添加它。如果是...那麼這非常奇怪,並向我們展示項目的.classpath文件可能會有所幫助。 – sheltem

回答

2

在您鏈接到本教程頁面,有以下注意事項:

SLF4J-log4j12-1.7.6.jar

綁定log4j版本1.2,廣泛使用的日誌框架。您還需要將log4j.jar放在您的課​​程路徑中。

您是否包含log4j.jar?

+0

之上添加了我的.classpath我將log4j.jar添加到了我的構建路徑,但仍然沒有變化。我無法訪問我的開發箱上的1.7.6 slf4j罐子。該0.0.1的差異是否應該引起這個錯誤?我可以在我的jar源代碼中看到方法調用。 – smuggledPancakes

+0

最後要使用哪個具體的日誌記錄框架無關緊要,Logger和LoggerFactory是駐留在slf4j-api中的類。缺少綁定或日誌記錄實現會導致完全不同的錯誤。 – sheltem

+0

我在路上遇到拼寫錯誤,對此感到抱歉 – smuggledPancakes

4

我的問題是列入

SLF4J-API-1.7.7.jar和 後問題SLF4J-簡單1.7.7.jar

類路徑。

0

import org.apache.log4j.Logger; 
解決它

而不是

import java.util.logging.Logger; 
相關問題