tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Smith <>
Subject Re: Can't find classes in jar files in WEB-INF
Date Tue, 20 Feb 2007 14:16:00 GMT
No.... just got busy with work.  Given what you provided in your last 
post, it seems to come down to permissions or something overlooked. 

Are you running the security manager? 
Have you checked file permissions? 
Did you restart tomcat (or at least restart the webapp) after building 
the .jar file and placing it in WEB-INF/lib?
Are there any messages in the logs when your webapp starts that might 
indicate a problem?


aladdin wrote:
> Have we given up here?  Do I need to have the packages in separate jars?
> On Monday 19 February 2007 08:02, David Smith wrote:
>> You don't need to tell tomcat to look in WEB-INF/lib/*.jar.  Tomcat does
>> that automatically per spec.  I'm guessing there is something wrong with
>> the way your jar was created or a permissions problem.
>> Try testing the jar with
>> $JAVA_HOME/bin/jar tf whatever.jar
>> (linux/maxos syntax)
>> or
>> %JAVA_HOME\bin\jar tf whatever.jar
>> (windows syntax)
>> to be sure it's valid.  The command above lists all the files in the jar
>> file.  Then be sure permissions are set so the user tomcat runs as can
>> read it.  One last thing to look for is any errors further up in the
>> logs above the class not found exception.
>> --David
>> aladdin wrote:
>>> Thanks for the tip!
>>> I don't think I'd have a conflict with all the classes in my application.
>>> Although some of my classes have common names, like (compiled,
>>> of course, to user.class), they are all member of just one of three
>>> packages: infoisland, dbMgr, and utils, so I don't think the names are
>>> colliding. Loading the app bombs out as tomcat is loading when it can't
>>> find my filter, CheckUser (makes sure users are logged in), which is in
>>> the infoIsland package.
>>> However, your comment is telling: "WEB-INF itself is not checked or
>>> scanned for .jar files at all."  So, if I make sure the WEB-INF/classes
>>> subdirectory is empty, how do I tell tomcat to go get classes out of the
>>> WEB-INF/lib/whatever.jar file?
>>> Thanks.
>>> On Sunday 18 February 2007 20:05, David Smith wrote:
>>>> It should be noted there are only a couple of places .jar files are
>>>> allowed in tomcat:
>>>> 1. WEB-INF/lib
>>>> 2. common/lib of the tomcat installation directory
>>>> WEB-INF itself is not checked or scanned for .jar files at all.  In
>>>> addition, any files in the classes directory will override their
>>>> equivalent in the lib directory.  This occurs regardless of it being in
>>>> WEB-INF/classes or common/classes
>>>> As to the issue below, are you sure you don't have similar classes (in
>>>> name and package) in both common/lib and WEB-INF/lib?  Seems like
>>>> there's a classloader issue at work here.  Take a look at the
>>>> classloader howto at
>>>>  It
>>>> might offer some ideas.
>>>> --David
>>>> aladdin wrote:
>>>>> When I put my webapp.jar file in the WEB-INF directory, it doesn't find
>>>>> the app.  When I exploded it into the classes directory, and associated
>>>>> subdirectories, they are found fine, but I get this problem (the one
>>>>> below).
>>>>> This, it turns out, is triggered by the fact I have the webapp.jar file
>>>>> in the lib directory and all the classes unpacked in the classes
>>>>> directory (both under WEB-INF, of course).  Getting rid of the
>>>>> webapp.jar file in the lib directory solves the problem below, but now
>>>>> tomcat won't use that the jar file in the lib directory, even though
>>>>> when it's unpacked in the classes directory, he seems perfectly happy.

>>>>> Is there some magic I need for tomcat to use .jar files in the
>>>>> WEB-INF/lib directory, like an entry in web.xml or server.xml?
>>>>> On Friday 16 February 2007 22:52, aladdin wrote:
>>>>>> I was getting a message like "SEVERE PersistenceManager persistence
>>>>>> enabled", or something like that (I don't remember) so I disabled
>>>>>> (commented out) the Manager tag in server.xml that configured the
>>>>>> PersistenceManager. Now, I'm getting
>>>>>> Feb 16, 2007 9:26:34 PM org.apache.catalina.loader.WebappClassLoader
>>>>>> modified INFO:     Additional JARs have been added
>>>>>> Feb 16, 2007 9:26:34 PM org.apache.catalina.core.StandardContext
>>>>>> INFO: Reloading this Context has started
>>>>>> over and over in the log files.  Anyone know what's causing this?
>>>>>> thought maybe tomcat was restarting, but the PID doesn't change.
>>>>>> seems to work, but it's filling up my log files.

To start a new topic, e-mail:
To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message