我在两台服务器上运行 JBoss EAP6,并尝试让 CAS 工作。它在节点 1 上运行良好,但在节点 2 上出现错误:
Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path
如果我在节点 1 上运行以下命令:
查找 /-name log4j-over-slf4j.jar 2>errors.txt 我
得到这个输出:
/usr/share/java/slf4j/log4j-over-slf4j.jar
/usr/share/java/slf4j-eap6/log4j-over-slf4j.jar
但如果我在节点 2 上运行它,我会得到以下结果:
/usr/share/java/slf4j-eap6/log4j-over-slf4j.jar
/usr/share/java/slf4j/log4j-over-slf4j.jar
如果我运行:find / -name slf4j-log4j12.jar 2>errors.txt
位于两个节点上的 /usr/share/java/slf4j-eap6/slf4j-log4j12.jar。
我感觉 node2 在 /usr/share/java/slf4j/ 之前使用了 /usr/share/java/slf4j-eap6/,其中有两个 jar 文件,从而导致了错误。请记住节点 1 可以正常工作。
答案1
也许(在这种情况下我不能确定,因为可能存在其他原因)两个服务器具有不同的区域设置,这可能会影响排序顺序。
要检查系统区域设置,请运行locale
。
附言:也许上面 Gus 的评论更准确。但是我找不到其他文件来支持这两种情况。