Weblogic11: 用户指定的日志 class 'org.apache.commons.logging.impl.Log4JLogger' 找不到或不可用
Weblogic11: User-specified log class 'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not useable
我知道这个错误已经出现在 Whosebug 上,通常它会转化为 class路径问题。就我而言,这是我的背景:
应用服务器:Weblogic 10.3.6
使用 Spring 4 + log4j。
Weblogic 用户域库文件夹:
- log4j-1.2.17.jar
- commons-logging-1.1.3.jar
- spring-beans-4.1.2.RELEASE.jar
- spring-core-4.1.2.RELEASE.jar
- spring-jdbc-4.1.2.RELEASE.jar
- spring-tx-4.1.2.RELEASE.jar
当我尝试使用 StoredProcedure spring class(在自定义 Weblogic 身份验证器的上下文中)时出现此错误:
<10/Fev/2015 17H27m GMT> <Error> <org.apache.beehive.netui.pageflow.internal.AdapterManager> <BEA-00
0000> <ServletContainerAdapter manager not initialized correctly.>
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.j
ava: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)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
at org.springframework.jdbc.object.RdbmsOperation.<init>(RdbmsOperation.java:59)
at org.springframework.jdbc.object.SqlCall.<init>(SqlCall.java:78)
at org.springframework.jdbc.object.StoredProcedure.<init>(StoredProcedure.java:58)
我相信这与 log4j 或 commons-logging 的版本有关(或者最终是我遗漏的 Spring 4 的依赖项......比如 slf4j,虽然我不认为这是必需的)。
有人对此有什么想法吗?
提前致谢
此致
若昂·西马斯
感谢"Display Name is missing"提供link:
[http://docs.oracle.com/cd/E24329_01/web.1211/e24368/classloading.htm#WLPRG282][1]
解决方案是创建专用用户域并重新部署 jar。一切都按预期进行。
若昂·西马斯
我知道这个错误已经出现在 Whosebug 上,通常它会转化为 class路径问题。就我而言,这是我的背景:
应用服务器:Weblogic 10.3.6
使用 Spring 4 + log4j。
Weblogic 用户域库文件夹:
- log4j-1.2.17.jar
- commons-logging-1.1.3.jar
- spring-beans-4.1.2.RELEASE.jar
- spring-core-4.1.2.RELEASE.jar
- spring-jdbc-4.1.2.RELEASE.jar
- spring-tx-4.1.2.RELEASE.jar
当我尝试使用 StoredProcedure spring class(在自定义 Weblogic 身份验证器的上下文中)时出现此错误:
<10/Fev/2015 17H27m GMT> <Error> <org.apache.beehive.netui.pageflow.internal.AdapterManager> <BEA-00
0000> <ServletContainerAdapter manager not initialized correctly.>
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.j
ava: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)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
at org.springframework.jdbc.object.RdbmsOperation.<init>(RdbmsOperation.java:59)
at org.springframework.jdbc.object.SqlCall.<init>(SqlCall.java:78)
at org.springframework.jdbc.object.StoredProcedure.<init>(StoredProcedure.java:58)
我相信这与 log4j 或 commons-logging 的版本有关(或者最终是我遗漏的 Spring 4 的依赖项......比如 slf4j,虽然我不认为这是必需的)。
有人对此有什么想法吗?
提前致谢
此致
若昂·西马斯
感谢"Display Name is missing"提供link: [http://docs.oracle.com/cd/E24329_01/web.1211/e24368/classloading.htm#WLPRG282][1]
解决方案是创建专用用户域并重新部署 jar。一切都按预期进行。
若昂·西马斯