最近在发布一个web项目时出现了如下错误:
- Assembly code
13:11:13,774 ERROR [STDERR] SLF4J: Class path contains multiple SLF4J bindings.13:11:13,774 ERROR [STDERR] SLF4J: Found binding in [vfszip:/F:/ServerTools/jboss-5.1.0.GA/server/default/deploy/CST/cas.war/WEB-INF/lib/slf4j-log4j12-1.5.8.jar/org/slf4j/impl/StaticLoggerBinder.class]13:11:13,774 ERROR [STDERR] SLF4J: Found binding in [vfszip:/F:/ServerTools/jboss-5.1.0.GA/common/lib/slf4j-jboss-logging.jar/org/slf4j/impl/StaticLoggerBinder.class]
原因是找到了两个相同的实现类,一个在war包中,一个在JBoss的服务器的common/lib中。
我想问下,这个war包应该如何配置才可以让其使用war包自带的那一个类而不使用服务器的类呢?
小弟的分不多了,期望各位大大能给个答复,不要给出某某外国论坛的一个地址就算了,请尽量给出可以解决问题的完整方法,感激不尽。
关于如何重现这个错误,可以去jasig.org上下载一个最新的CAS发布包然后在JBoss 5.1.0GA上发布就可以看见这个错误了
------解决方案--------------------------------------------------------
必须删除一个
jboos启动的时候默认会先加载lib下的jar包,然后再加载war中的jar包,但是没有办法告诉jboss哪个jar包需要哪个不需要。
再说了,为什么要保存两份呢,删除好了