Java LoggerFactor.getLogger无法解析为类型

Java LoggerFactor.getLogger无法解析为类型,java,eclipse,logging,slf4j,buildpath,Java,Eclipse,Logging,Slf4j,Buildpath,我设置了一个基本Java程序,我遵循这一点,并有以下确切的代码: 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 Worl

我设置了一个基本Java程序,我遵循这一点,并有以下确切的代码:

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");
  }
}
我的构建路径上有jars slf4j-api-1.7.5.jar和slf4j-log4j12-1.7.5 jar。我不明白给出了什么,getLogger方法存在于LoggerFactory类中,我可以对其进行F3(源代码查找)。我在谷歌上搜索了一下,似乎是唯一一个有这个问题的人。有什么想法吗

以下是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>


在链接到的教程页面上,有以下注释:

slf4j-log4j12-1.7.6.jar

log4j版本1.2的绑定,这是一个广泛使用的日志框架。您还需要将log4j.jar放在类路径上


是否包含log4j.jar?

在包含

slf4j-api-1.7.7.jarslf4j-simple-1.7.7.jar


在类路径上。

您可以始终静态使用记录器,而不是每次需要时使用loggerfactory并创建实例:

final static Logger logger = Logger.getLogger(HelloWorld.class);
根据这个SO答案,使用任何一种方法似乎都不会有太大的开销:

我用

import org.apache.log4j.Logger;
而不是

import java.util.logging.Logger;

对我来说,当我在下面添加Maven依赖项时,它起了作用:

<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>

log4j
log4j
1.2.17

我将log4j.jar添加到构建路径中,但仍然没有任何更改。我无法访问开发箱上的1.7.6 slf4j JAR。该0.0.1差异是否应导致此错误?我可以在jar的源代码中看到方法调用,不管最终使用哪个具体的日志框架,Logger和LoggerFactory都是驻留在slf4j api中的类。缺少绑定或日志记录实现将导致完全不同的错误。我的路径上有拼写错误,对此感到抱歉。您何时收到错误?Eclipse是否标记了您对LoggerFactory的使用(标题中的
LoggerFactor
是否为打字错误?)?或者您在运行时遇到错误了吗?如果Eclipse无法解析该类,则它不是构建路径的一部分。转到项目的属性(通过右键单击它并选择属性),然后选择“Java构建路径”并切换到“库”选项卡。是否有指向slf4j-api-1.7.5.jar的条目?如果没有,请添加它。如果是。。。这非常奇怪,向我们展示项目的.classpath文件可能会有所帮助