2012-01-27 107 views
28

我尝试运行GWT RequestFactory和面对这个错误:ClassNotFoundException的:org.slf4j.LoggerFactory

ClassNotFoundException: org.slf4j.LoggerFactory 

我试图下载SLF4J-API-1.3.1.jar但它没有解决问题

任何想法,我需要下载哪个罐子?

+0

http://www.slf4j.org/manual.html – 2012-01-27 07:15:56

+0

尝试提取jar并查看它是否包含\ org \ slf4j \ LoggerFactory。 – 2012-01-27 07:18:18

+0

您不需要下载jar,在编译和运行代码时还必须将其放入classpath中。是你做的吗? – Jesper 2012-01-27 07:57:21

回答

10

尝试下载JAR从here

你可以找到,它拥有你需要的类。

更好
+0

谢谢,错误消失了,现在它说NoClassDefFoundError:org/slf4j/impl/StaticLoggerBinder任何想法 – junaidp 2012-01-27 07:29:33

+0

从这里得到http://www.java2s.com/Code/Jar/STUVWXYZ/Downloadslf4jlog4j12156jar.htm – gprathour 2012-01-27 07:30:57

+0

java.lang.IllegalAccessError:试图从类org.slf4j.LoggerFactory访问字段org.slf4j.impl.StaticLoggerBinder.SINGLETON – junaidp 2012-01-27 07:39:29

57

总是下载作为你的第一次尝试,从开发者的site

最新版本我有你有同样的错误信息,并通过从上述(SLF4J-1.7.2.tar下载JAR 。广州最新版本作为2012OCT13),执行解压缩,解压缩,将2罐建立在Eclipse路径(或在COMAND线增加类路径):

  1. slf4j-api-1.7.2.jar
  2. slf4j-simple-1.7.2.jar

我能够运行我的程序。

+4

这应该是更好的答案,完全有效!感谢队友 – GuilhE 2013-07-19 17:09:18

+3

它的工作感谢您的答案! – 2013-12-16 07:09:58

+0

感谢这对我有用:) – user881703 2016-12-14 13:40:29

0

它需要“slf4j-simple-1.7.2.jar”来解决问题。

我从http://slf4j.org/download.html下载了zip文件“slf4j-1.7.2.zip”。我提取的zip文件,我得到了SLF4J-简单1.7.2.jar

+1

您还可以从我上面的答案中提到的相同网址下载“slf4j-1.7.2.tar.gz” – 2013-01-03 05:43:23

1

你需要从the official site下载SLF4J的罐子无论是作为zip (v1.7.4)tar.gz (v1.7.4)

下载包含基于如何在多罐想要使用SLF4J。如果你只是试图解决其他库(GWT,我假设)的需求,并不真正关心使用SLF4J,那么我可能会选择slf4j-api-1.7.4.jar,因为Simple jar据我所知,另一个答案建议不包含您正在寻找的具体课程。

0

我在Android上也一样。这是我如何固定它:

只包括文件:

SLF4J-API-1.7.6.jar

在我的库

/文件夹

有任何额外的SLF4J *文件,引起NoClassDefFoundError。

显然,库的其余部分可以在那里(Android的支持-V4等)

版本: Eclipse的开普勒2013 6月14日至2月29日 ADT 22.3 Android SDK中:4.4.2

希望有人节省我浪费的时间,感谢这!

0

想了解更多解释:请记住,“api”中的“I”是界面。 slf4j-api jar只包含所需的接口(实际上LoggerFactory是一个抽象类)。您还需要实际的实现(如上所述,其中的一个示例可以在slf4j-simple中找到)。如果您在jar中查看,您会在“org.slf4j。impl”包中找到所需的类。

3

我知道这是一个古老的问题,但最近我遇到了这个问题,我在谷歌搜索它,我遇到了这个文档here从slf4j网站。

,因为它描述如下:

This error is reported when the org.slf4j.impl.StaticLoggerBinder class could not be loaded into memory. This happens when no appropriate SLF4J binding could be found on the class path.

Placing one (and only one) of slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem.

SINCE 1.6.0As of SLF4J version 1.6, in the absence of a binding, SLF4J will default to a no-operation (NOP) logger implementation.

希望这将帮助别人。

1

我也得到了这个问题,我用这种方法修复了它。 我试图通过Eclipse的本地运行MapReduce工作,后置的配置,我遇到了这个错误(在Linux中,虚拟盒) 为了解决这个问题,

  • 右键点击您想运行,
  • 项目
  • 去 “属性” - > “的Java 构建路径” - > “添加外部JAR”,
  • 然后去 file:/usr/lib/Hadoop/client-0.20,选择名为三瓶由 “SLF4J” 开始 。

然后,您将能够在本地运行作业。 希望我的经验能帮助别人。

相关问题