【发布时间】:2014-04-24 20:28:56
【问题描述】:
看来我在 Tomcat 中有 jar 冲突。
事实:
- 在开发模式下运行良好的 GWT 应用程序。
- 同一应用程序在独立服务器上以编译模式运行良好。
-
在运行其他应用程序的测试服务器上调用同一应用程序时会引发异常:
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.Log4jFactory (Caused by java.lang.ClassNotFoundException: org.apache.commons.logging.impl.Log4jFactory) at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1276) at org.apache.commons.logging.LogFactory$2.run(LogFactory.java:1065)
我以为 Tomcat 正在为每个 servlet 隔离 Jar,看来它没有,我错了......
app1 正在使用:
commons-beanutils-1.8.3.jar
commons-collections-3.2.1.jar
commons-configuration-1.10.jar
commons-dbcp-1.2.2.jar
commons-lang-2.6.jar
commons-logging-1.1.1.jar
commons-pool-1.5.3.jar
gwt-servlet.jar
hibernate-validator-4.1.0.Final.jar
hibernate-validator-4.1.0.Final-sources.jar
json-simple-1.1.1.jar
log4j-1.2.16.jar
postgresql-9.1-901-1.jdbc4.jar
reds_da-1.0.0.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
app2 正在使用:
activation-1.1.jar
avalon-framework-4.1.4.jar
commons-beanutils-1.8.0.jar
commons-codec-1.4.jar
commons-collections-3.2.1.jar
commons-configuration-1.0-dev-3.20030607.194155.jar
commons-dbcp-1.2.2.jar
commons-digester-2.0.jar
commons-fileupload-1.0.jar
commons-grant-1.0-beta-4.jar
commons-httpclient-2.0-beta1.jar
commons-io-2.0.1.jar
commons-jelly-20030902.160215.jar
commons-jelly-tags-antlr-20030211.143720.jar
commons-jelly-tags-jsl-20030211.143151.jar
commons-jelly-tags-log-20030211.142821.jar
commons-jelly-tags-velocity-20030303.205659.jar
commons-jelly-tags-xml-20030211.142705.jar
commons-jxpath-1.3.jar
commons-lang-2.6.jar
commons-logging-1.0.4.jar
commons-logging-api-1.0.4.jar
commons-pool-1.5.3.jar
commons-validator-1.3.1.jar
core-2.0.jar
cryptix-3.2.0.jar
cssparser-0.9.5.jar
dom4j-1.6.1.jar
ecj-3.7.2.jar
ecs-1.4.2.jar
excalibur-component-2.1.jar
excalibur-instrument-api-2.1.jar
excalibur-instrument-mgr-api-2.1.jar
excalibur-instrument-mgr-impl-2.1.jar
excalibur-logger-2.1.jar
excalibur-pool-api-2.1.jar
excalibur-pool-impl-2.1.jar
excalibur-pool-instrumented-2.1.jar
freemarker-2.3.8.jar
htmlunit-2.9.jar
htmlunit-core-js-2.9.jar
httpclient-4.1.2.jar
httpcore-4.1.2.jar
httpmime-4.1.2.jar
itext-2.1.5.jar
javase-2.0.jar
javax.mail-api-1.5.1.jar
jcs-1.3.jar
jericho-html-3.3.jar
jndi-1.2.1.jar
json-20090211.jar
jsoup-1.6.1.jar
junitperf-1.8.jar
jython-2.1.jar
log4j-1.2.13.jar
logkit-1.0.1.jar
mail-1.4.jar
mailapi-1.5.1.jar
nekohtml-1.9.15.jar
odfdom-java-0.8.7.jar
oro-2.0.7.jar
poi-3.1-FINAL.jar
poi-contrib-3.1-FINAL.jar
poi-scratchpad-3.1-FINAL.jar
postgresql-9.1-901-1.jdbc4.jar
qrgen-1.3.jar
reds_da-1.0-SNAPSHOT.jar
sac-1.3.jar
serializer-2.7.1.jar
smtp-1.5.1.jar
stratum-1.0-b3.jar
torque-3.3.jar
turbine-2.3.3.jar
util-1.4-SNAPSHOT.jar
velocity-1.3.1.jar
velocity-dvsl-0.45.jar
village-3.3.jar
xalan-2.7.1.jar
xercesImpl-2.9.1.jar
xml-apis-1.0.b2.jar
xmlParserAPIs-2.0.2.jar
xmlpull-1.1.3.1.jar
xmlrpc-2.0.jar
xom-1.1.jar
xpp3_min-1.1.4c.jar
xstream-1.4.5.jar
显然,似乎
commons-configuration-1.10.jar
log4j-1.2.16.jar
commons-logging-1.1.1.jar
有冲突。
【问题讨论】:
-
你的战争中有
commons-logging.jar吗? -
是的,我愿意。实际上,如果我删除所有其他 servlet 并离开我的,它可以工作......
-
@jpg你的Tomcat和Java版本是什么?