tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig R. McClanahan" <Craig.McClana...@eng.sun.com>
Subject Re: WEB-INF/lib and .jar files in Tomcat 3.1
Date Thu, 01 Jun 2000 15:09:29 GMT
Jason Rumney wrote:

> Nacho <nacho@siapi.es> writes:
>
> > I think that there are no restrictions to this, only that zip files are
> > no loaded from WEB-INF/lib, but a zip file is not jar :-).
> >
> >
> > > The reason I ask is that the CORBA libraries required by myapp do not
> > > appear to be loaded from myapp/WEB-INF/lib. I wonder whether they are
> > > too low-level for this method to work.
> > >
> >
> > i dont know, but until now everytime i have the feeling that tomcat
> > don't load a file from WEB-INF/lib was my fail no a Tomcat's fail.....
>
> Thanks for confirming that this should work, and I am not reading the
> servlet spec wrong.
>
> The files are jar files, and they are in WEB-INF/lib, not a
> subdirectory. Permissions are 664, so Tomcat should have no problems
> reading them. They are loaded if I place them in jakarta-tomcat/lib,
> but for reasons of organization I would prefer to keep them with the
> app rather than the server.
>
> The only thing I can think of is that these libraries contain
> org.omg.CORBA.* classes, so they may need to be loaded when the JVM
> starts up, to avoid clashes with the standard Java 1.2 classes. I don't
> know enough about the Java classloader to know whether this would be
> an issue, or if there is another problem.
>

That is going to be an issue.

As currently implemented, the class loader used by Tomcat looks on the system
classpath first, and then into the application-specific stuff (WEB-INF/classes
and WEB-INF/lib/*.jar).  Thus, the classes from the JDK are going to be found
where they have the same name, but the ones from your library will be found
when they are different -- a mix that probably isn't going to work.

IMHO the class loader logic should be reversed - load from the application
repositories first and then the system classpath.  I'm cross posting this to
the developer's list in order to discuss this further.

>
> --
> Jason Rumney <jrumney@ipo.att.com>
> AT&T Labs (Redditch, UK)

Craig McClanahan





Mime
View raw message