【发布时间】:2015-02-10 17:47:40
【问题描述】:
我知道这个错误已经出现在 stackoverflow 上,通常它会转化为类路径问题。就我而言,这是我的上下文:
应用服务器: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 类(在自定义 Weblogic Authenticator 的上下文中)时,出现此错误:
<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,虽然我认为这不是必需的)。
有人对此有任何想法吗?
提前致谢
最好的问候
若昂·西马斯
【问题讨论】:
-
您是否尝试将两个 jar(log4j 和 commons-logging)复制到服务器并在服务器 start->classpath 中添加显式引用?只是为了确定这是否与缺少 jar 或冲突有关。
-
已经试过了,还是一样的错误。将带有 log4j jar 的 commons-logging-1.1.3.jar 添加到 AdminServer 类路径。
-
也许有两个公共日志,也许这会有所帮助:community.oracle.com/thread/2498003
-
您使用的是
<prefer-application-packages>还是prefer-web-inf-classes?我认为您需要它,weblogic默认情况下已经在类路径中包含log4j,因此您的应用程序中的版本冲突docs.oracle.com/cd/E24329_01/web.1211/e24368/… -
问题是这不在 Web 应用程序上下文中。我没有 weblogic.xml 可以这样做。这发生在我实现的自定义身份验证器提供程序中。当它开始变得太复杂时,我添加了弹簧......然后日志记录问题开始......
标签: java logging weblogic11g spring-4