【问题标题】:Class path contains multiple SLF4J bindings类路径包含多个 SLF4J 绑定
【发布时间】:2012-09-11 17:52:30
【问题描述】:

我的应用服务器 ibm websphere。 我在应用程序服务器日志中收到以下错误。 我在哪里可以设置 websphere?

[19.09.2012 14:56:54:940 EEST] 0000000a SystemErr R SLF4J:类路径包含多个 SLF4J 绑定。
[19.09.2012 14:56:54:940 EEST] 0000000a SystemErr R SLF4J:在 [wsjar:file:/C:/Lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder 中找到绑定.class]
[19.09.2012 14:56:54:941 EEST] 0000000a SystemErr R SLF4J:发现绑定 [bundleresource://217.fwk37356669:1/org/slf4j/impl/StaticLoggerBinder.class]
[19.09.2012 14:56:54:941 EEST] 0000000a SystemErr R SLF4J:请参阅 http://www.slf4j.org/codes.html#multiple_bindings 以获得解释。

【问题讨论】:

  • 您是否访问过建议的链接,是否有意义?你问这个问题是为了帮助确定这两个绑定的来源吗?可以看到一个是C:/Lib/slf4j-log4j12-1.6.1.jar。另一个是,我认为,一个 OSGi 参考。您是否在 Eclipse/RAD 下运行?什么版本的 WebSphere?
  • 不,我不是在询问链接。使用 RAD8 和 WAS8。我放在文件夹下面 C:/Lib/slf4j-log4j12-1.6.1.jar 但是不要这样做 [bundleresource://217.fwk37356669:
  • 我为这个问题找到了更好的答案here。很抱歉再次提出这个问题,但我现在面临着完全相同的问题!

标签: java binding websphere slf4j


【解决方案1】:

它使用控制台选项“删除文件”从 ear 中删除一个冲突的类并选择整个 jar (lib/slf4j-log4j12-1.7.2.jar)。应用重启后即可使用。

【讨论】:

    【解决方案2】:

    不幸的是,websphere 在自己的安装中有很多常用的库。它们经常与您要在应用程序中使用的版本发生冲突。

    选项是从应用程序中删除库 jar 并使用 websphere 提供的或将类加载器设置更改为“最后一个父级”以确保首先找到与应用程序捆绑的库。 (这不会消除 slf4j 警告,但会确保使用您的实现)。

    抱歉,我无法提供更多详细信息,这些设置是在哪里找到的(我上次使用 websphere 是几年前的事了)。

    【讨论】:

    • 谢谢!这正是我所怀疑的。
    猜你喜欢
    • 2012-12-11
    • 2016-03-12
    • 2014-05-18
    • 2021-05-19
    • 2020-07-07
    • 2019-08-01
    • 1970-01-01
    • 2018-07-29
    相关资源
    最近更新 更多