当前位置: 首页 > 面试题库 >

Java SLF4J:无法加载类“ org.slf4j.impl.StaticLoggerBinder”

荀裕
2023-03-14
问题内容

我的应用程序将同时部署在tcServer和WebSphere 6.1上。此应用程序使用ehCache,因此需要slf4j作为依赖项。结果,我已将slf4j-api.jar(1.6)jar添加到我的war文件包中。

该应用程序在tcServer中工作正常,但以下错误除外:

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.

但是,当我在WebSphere中部署时,会得到一个java.lang.NoClassDefFoundError: org.slf4j.impl.StaticLoggerBinder

还伴随着 Failed to load class "org.slf4j.impl.StaticMDCBinder"

我已经检查了两个应用服务器的类路径,没有其他的slf4j jar。

有谁知道这里可能会发生什么?


问题答案:

我对WebSphere 6.1有同样的问题。正如Ceki所指出的,WebSphere正在使用大量的jars,其中之一是指向较旧版本的slf4j。

仅当slf4j -1.6+时才会发生No-Op后备,因此任何早于该版本的内容都会引发异常并中止你的部署。

SLf4J站点中有一个文档可解决此问题。我遵循了这一点,并将其添加slf4j-simple-1.6.1.jar到我的应用程序中slf4j-api-1.6.1.jar

这解决了我的问题。希望它对遇到此问题的其他人有所帮助。



 类似资料:
  • 问题内容: 当我尝试运行Hibernate时,我在控制台中收到以下消息。 但是hibernate状态很好。我的项目有什么问题吗?我使用Eclipse(Helios),Hibernate 3.6.8。我使用这些jar文件:antlr-2.7.6,commons- collections-3.1,dom4j-1.6.1,hibernate3,hibernate- jpa-2.0-api-1.0.1.F

  • 问题内容: 我正在使用 eclipse juno 使用 maven (m2eclipse插件)运行其他人的Java代码。但是我收到以下消息: 在官方网站上,我找到了针对此问题的以下修复程序: 所以我将slf4j-simple.jar复制到 “ C:\ Program Files \ Java \ jdk1.7.0_07 \ lib”中 。但是我仍然遇到错误。 请指导我什么是正确的解决方案。我是Ja

  • 我试图从groovy脚本调用Oracle存储过程,结果出现了标题中的错误。 以下是我的剧本: 当我删除(它们是OUT parameters)参数时,脚本将被编译,所以我认为它们有问题······ 我找到了一个让我的程序工作的解决方案: 但我想有一个更好的方法来传递这些SQL参数... PS:我正在使用Groovy-2.4.13,并尝试了Oracle JDK9和1.8.0_151

  • 我正试图用PDFBox和Groovy来搞乱一下。我试图使用PDType1Font类的getStringWidth()方法计算字符串的宽度。 我的问题是,每次编译和运行代码时,都会出现这样一个错误: 代码如下: 为了清晰起见,我删除了代码中所有不相关的部分。 问题出在哪里? 更新:我在IntelliJ中搜索了一下如何将外部jar添加到我的类路径,发现我需要转到项目结构- 我试着这样做: 但我仍然收到

  • 我的系统中安装了JMeter 5.2.1。当我尝试执行下面的代码时,我遇到了这个错误。 响应消息:javax。剧本ScriptException:组织。科德豪斯。非常棒。控制MultipleComplationErrorsException:启动失败:类生成期间出现常规错误:java。lang.NoClassDefFoundError:无法加载类com。蔚蓝色的消息传递。事件中心。由于缺少依赖关系

  • 问题内容: 异常堆栈跟踪 我的redirect.jsp文件内容 问题答案: 在servlet容器的掩护下,JSP在执行之前先编译为Java类。 例外 表示您的webcontent文件夹根目录中的文件无法编译,这通常意味着该文件在 scriptlet中 包含一些原始Java代码,这些代码包含语法错误。您需要修复这些语法错误,以便servlet容器可以编译那些JSP文件。但是,普遍的共识是, scri