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 用户域库文件夹:

当我尝试使用 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。一切都按预期进行。

若昂·西马斯