gpt4 book ai didi

java - 用户指定的日志类 'org.apache.commons.logging.impl.Log4JLogger' 找不到或不可用

转载 作者:行者123 更新时间:2023-11-30 04:44:33 24 4
gpt4 key购买 nike

我正在从事网络应用程序工作。我尝试使用 WEB-INF/lib/*.jar 从我的 war 中删除重复的 jar。这帮助我将 jar 排除在我的 war 之外。在 websphere 中部署 Ear 时,我遇到以下问题,

我检查了我的 war 类路径,它包含 log4j.jar 和 common-logging1.1.jar。

请帮忙!!!

错误日志:

[7/6/12 22:34:10:577 CEST] 00000165 webapp        E com.ibm.ws.webcontainer.webapp.WebApp notifyServletContextCreated SRVE0283E: Exception caught while initializing context: {0}
org.apache.commons.logging.LogConfigurationException: User-specified log class 'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not useable.
at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:874)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:310)

最佳答案

WebSphere 6.1 包括 Commons Logging 本身,由 higher classloader 加载比你的网络应用程序。 (您可以通过将 this JSP 部署到您的应用程序并输入 JCL 类名来查看从何处加载 JCL 类。)因此,您已将 JCL 配置为加载 log4j 类,但更高级别(父级)类加载器可以从较低级别的 Web 应用程序类加载器中看不到 log4j 类。

因此,一种解决方案(特别是如果您需要 1.1 版本的 JCL 而不是 WebSphere 包含的版本 (1.0))是将您的 WebSphere 类加载器策略更改为父级最后

由于更改类加载器策略可能会产生其他影响,因此另一个选择是使用 WebSphere 的包含版本和 use a technique to tell it to use log4j as the logging mechanism within your application 。但请注意,由于 WebSphere 6.1 不包含整个 JCL1.0,you'll then need to deploy a full JCL 1.0 with your application .

关于java - 用户指定的日志类 'org.apache.commons.logging.impl.Log4JLogger' 找不到或不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11373573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com