问题可能是WebSphere 6.1在内部使用Jakarta Commons
Logging(JCL),并且如果您的任何代码或第3方库也使用JCL,则WebSphere的配置会与尝试使用log4j的应用程序冲突。如果发生这种情况,您将确切看到自己所看到的。
有许多参考资料和博客文章描述了解决此问题的方法。我们发现最简单的方法是
org.apache.commons.logging.LogFactory在
meta-INF/servicesWeb应用程序的目录中(在WAR存档的根目录中)创建一个名为的文件。该文件必须包含以下行:
org.apache.commons.logging.impl.Log4jFactory
(至少使用WebSphere的较新版本…)另一个关键是,必须从与log4j jar相同的位置加载JCL jar。例如,两者都来自WEB-INF /
lib或都来自共享库。因此,您不能再依赖从WebSphere自己提供的副本加载JCL。如果它们是由不同的类加载器加载的,则它们将无法正确看到彼此。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)