tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig R. McClanahan" <>
Subject Re: [PATCH] loading jar files from lib directory under SCCS
Date Tue, 05 Sep 2000 17:35:19 GMT
See below.

Petr Jiricka wrote:

> Hello,
> my colleagues found a problem with jar files in the "lib" directory when
> using SCCS-based version control systems (such as TeamWare).
> The problem is that TeamWare creates a "SCCS" subdirectory under each
> directory, and in this directory it creates files with similar names as the
> original directory. So for example if the WEB-INF/lib directory contains a
> file called library.jar, then WEB-INF/lib/SCCS directory will contain a file
> called s.library.jar. This file is not a valid jar file. So when Tomcat adds
> all jars from WEB-INF/lib and its subdirectories into its classpath, the
> classloader will complain about a corrupted jar file and thow an exception.
> This can be fixed by not including SCCS in the directories from which jar
> files are recursively added into the web app classpath.
> The following patch is against the tomcat_32 branch, the patch for Tomcat
> 3.3 would be analogous.
> How do you feel about this patch ? And what about for tomcat_32 ? Also, do
> you know any other version control systems which could have the same problem
> ?

If Tomcat 3.2 is loading JAR files from nested directories *underneath*
WEB-INF/lib, it is broken and needs to be fixed.  The spec is pretty clear that
only classes in "WEB-INF/lib/*.jar" are made available to the web app -- so it
should never be finding the WEB-INF/lib/SCCS/*.jar files in the first place [see
Section 9.4 of the 2.2 spec, in particular the enumerated list of the contents
of WEB-INF just before section 9.4.1].

> Petr

Craig McClanahan

See you at ApacheCon Europe <>!
Session VS01 (23-Oct 13h00-17h00):  Sun Technical Briefing
Session T06  (24-Oct 14h00-15h00):  Migrating Apache JServ
                                    Applications to Tomcat

View raw message