tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From M4N - Arjan Tijms <arjan.ti...@m4n.nl>
Subject Re: RE: Occasional NoClassDefFoundError, but disappears after couple of restarts
Date Mon, 03 Aug 2009 09:17:09 GMT
Hi,

Caldarale, Charles R wrote:
>> The problem I have is that occasionally after I restart Tomcat, the
>> startup fails with NoClassDefFoundError or ClassNotFoundException for
>> every servlet listener that's being added from web.xml.
>>     
>
> This kind of error can be caused by having the same class(es) in multiple locations in
a given branch of the classloader tree, such as in both a webapp's WEB-INF/lib and in Tomcat's
lib directory (or on the system classpath).  Have you checked that?
>   
I removed the obvious suspect, a duplicate postgresql driver that 
appeared in both WEB-INF/lib  and [tomcat install dir]/lib. 
Unfortunately this did not seem to help. Last night I needed to restart 
the production server for a configuration change and I needed 22(!) 
restarts for Tomcat to start up correctly.

It really seems that there's a race condition going on somehow. I mean, 
if it was a structural problem then Tomcat would simply never start up, 
wouldn't it?

These are the libraries the web app currently uses:

In WEB-INF/lib
slf4j-jdk14-1.5.2.jar
slf4j-api-1.5.2.jar
regexp.jar
quartz-1.5.2.jar
jnp-client.jar
jbosssx-client.jar
jbosssx-as-client.jar
jboss-security-spi.jar
jboss-remoting.jar
jboss-logging-spi.jar
jboss-j2ee.jar
jboss-integration.jar
jboss-ejb3-security-client.jar
jboss-ejb3-proxy-client.jar
jboss-ejb3-core-client.jar
jboss-ejb3-common-client.jar
jboss-common-core.jar
jboss-client.jar
jboss-aspect-jdk50-client.jar
jboss-aop-client.jar
hibernate-annotations.jar
concurrent.jar
commons-logging-1.0.4.jar
commons-digester-1.6.jar
commons-collections-3.1.jar
commons-beanutils-1.7.0.jar

In [tomcat install dir]/lib
mail.jar
activation.jar
postgresql-8.3-603.jdbc3.jar

The Jboss libraries are the Jboss client libraries and are needed to 
consume EJBs from a remote Jboss AS instance. Maybe there are some 
classes somewhere that conflict with those of Tomcat, but if that would 
be true it's still hard to understand why starting up fails in 
production but never on a local workstation.

Anyone has any idea?

Grtz,
Arjan

-- 
It's a cult. If you've coded for any length of time, you've run across someone from this warped
brotherhood. Their creed: if you can write complicated code, you must be good.


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message