Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JBOSS中的多个SLF4J绑定导致错误_Java_Binding_Jboss_Slf4j - Fatal编程技术网

Java JBOSS中的多个SLF4J绑定导致错误

Java JBOSS中的多个SLF4J绑定导致错误,java,binding,jboss,slf4j,Java,Binding,Jboss,Slf4j,我们的应用程序在单个JBOSS-AS上部署了多个EAR 每个EAR都使用SLF4J进行日志记录,它可以在WAR的库中使用。我们也有一个案例,我们将分别部署耳朵 以下是针对单个EAR的部署错误。我们每个耳朵都会出现类似的错误 2011-07-07 23:27:52,794 ERROR [STDERR] (main) SLF4J: Class path contains multiple SLF4J bindings. 2011-07-07 23:27:52,794 ERROR [STDERR] (

我们的应用程序在单个JBOSS-AS上部署了多个EAR

每个EAR都使用SLF4J进行日志记录,它可以在WAR的库中使用。我们也有一个案例,我们将分别部署耳朵

以下是针对单个EAR的部署错误。我们每个耳朵都会出现类似的错误

2011-07-07 23:27:52,794 ERROR [STDERR] (main) SLF4J: Class path contains multiple SLF4J bindings.
2011-07-07 23:27:52,794 ERROR [STDERR] (main) SLF4J: Found binding in [vfszip:/jboss-as/common/lib/lib/slf4j-jboss-logging.jar/org/slf4j/impl/StaticLoggerBinder.class]
2011-07-07 23:27:52,794 ERROR [STDERR] (main) SLF4J: Found binding in [vfszip:/Product_Ear.ear/Product_War.war/WEB-INF/lib/slf4j-jcl-1.5.8.jar/org/slf4j/impl/StaticLoggerBinder.class]
2011-07-07 23:27:52,794 ERROR [STDERR] (main) SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
此错误是因为根据解释URL,我们有多个SLF4j绑定

问题:

  • 这不应该是一个警告而不是 错误

  • 有没有办法在没有人的情况下运行它 错误和不删除 slf4j-jcl-1.5.8.jar来自战争


  • 旁注: 即使我们的大部分耳朵都有错误,也没有其他问题。
    每个缩进功能都工作正常。

    slf4j的这种行为是经过设计的。如果您不喜欢,您必须在slf4j站点上提交错误报告

    问题是JBoss在其默认类加载器中提供了slf4j绑定,而您自己也带来了。我对JBoss还不太熟悉,所以不能说common/lib中的slf4j jar是否默认可用,或者您是否将其放在那里,但在那个位置,您可能无法禁用它。您可能希望在jboss站点上提出错误报告

    这个问题源于我不相信servlet规范中明确规定了web容器类加载器应该提供什么和不应该提供什么。因此,将存在部署问题

    唯一的解决办法是删除您自己的slf4j绑定并登录到jboss记录器


    但是请注意,如果您让web容器进行日志记录,这将是最跨平台的,因为规范不保证您可以访问文件系统。

    谢谢您的建议。我会核实的。我遇到了这个社区。但我不清楚是否排除LoggerBinder或整个二进制文件会对我有所帮助。请让我知道你的想法。在你的部署中遗漏任何与slf4j相关的内容。如果没有,你可能会遇到类加载器问题。这篇文章显然解释了如何取消slf4j绑定。我建议你试试。