两个servlet在tomcat上共享相同的jar吗? [英] Does two servlets share the same jars on tomcat?

查看:171
本文介绍了两个servlet在tomcat上共享相同的jar吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



事实:


  • 在开发模式下运行良好的GWT应用程序。

  • 同一个应用程序在独立服务器上以编译模式正常运行。 >同样的应用程序在运行其他应用程序的测试服务器上调用时会启动异常:

     引起:org.apache.commons .logging.LogConfigurationException:java.lang.ClassNotFoundException:org.apache.commons.logging.impl.Log4jFactory(由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 .jar
commons-jelly-20030902.160215.jar
commons-j elly-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
code>

很显然,它似乎是

  commons-configuration-1.10.jar 
log4j-1.2 .16.jar
commons-logging-1.1.1.jar

有冲突。 / p>

解决方案

我希望JAR之间有冲突,我在进一步调查后对问题进行了不同的描述:



GWT应用的部署问题


It appears that I have a jar conflict in Tomcat.

The facts:

  • A GWT application running great in dev mode.
  • The same app running fine in compiled mode on a standalone server.
  • The same app launches exceptions when called on a test server where other applications are running:

    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)
    

I was thinking that Tomcat is isolating Jar for each servlets, it seems it does not and I am wrong...

app1 is using:

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 is using:

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

Clearly, it seems that

commons-configuration-1.10.jar
log4j-1.2.16.jar
commons-logging-1.1.1.jar

are conflicting.

解决方案

I was hoping for a conflict between JARs, I described the problem differently after further investigation:

Deployment issue with GWT app

这篇关于两个servlet在tomcat上共享相同的jar吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆