IBM Worklight 6.2多个SLF4J绑定

时间:2014-09-11 11:04:28

标签: java ibm-mobilefirst worklight-server websphere-liberty

环境详情:

IBM Worklight 6.2

Oracle java版“1.7.0_67”

Liberty 8.5.5.1

[err] SLF4J: Class path contains multiple SLF4J bindings.
[err] SLF4J: Found binding in [wsjar:file:/C:/IBM/WebSphere/Liberty/usr/servers/WorklightServer/workarea/org.eclipse.osgi/bundles/69/data/cache/com.ibm.ws.app.manager_
gen_a7f562a4-562a-4d33-8c23-98b948303abb/.cache/WEB-INF/lib/worklight-jee-library.jar!/org/slf4j/impl/StaticLoggerBinder.class]
[err] SLF4J: Found binding in [wsjar:file:/C:/IBM/WebSphere/Liberty/usr/shared/resources/myapp/lib/worklight-jee-library.jar!/org/slf4j/impl/StaticLoggerBinder.class]
[err] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

阅读链接。 Class path contains multiple SLF4J bindings

但是在我的情况下,我还没有添加库。

为了测试冲突,我从 usr \ shared \ resources \ myapp 中删除了worklight-jee-library.jar,它运行正常。

但这不是解决方案。请建议一种解决方法。

2 个答案:

答案 0 :(得分:1)

停止Liberty Server,删除workarea目录并使用--clean选项重新启动Liberty Server。 Liberty概要文件使用工作区作为缓存,如果一次加载的类与当前类不同,则可能会发生冲突。 它根据缓存中的条目查看worklight-jee-library包含在war文件中。 如果是这种情况,你必须将它从战争中删除。 worklight-jee-library必须用作共享库,不得打包在war文件中。

答案 1 :(得分:0)

看来,您在WAR和共享资源文件夹中包含了worklight-jee-library.jar。因此要么从WAR或共享资源文件夹中删除它。这是解决方案。