tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig R. McClanahan" <>
Subject Re: Another minor build thing
Date Sat, 30 Sep 2000 18:53:30 GMT

Bob Jamison wrote:

> I cvs downloaded tomcat4 this morning and did
> a fresh build.  It went -very- cleanly (nice job!),
> but I noticed that both in build/tomcat-4.0 and
> dist/tomcat-4.0,  there are two copies of
> xerces.jar.  One is in /lib and the other in /server.
> One (I guess) comes from the
> jasper build, the other from the catalina
> build.  I suppose an 'excludes="xerces.jar"'
> attribute in one of the <copydir> tags would take
> care of it.

This "duplication" is actually required, due to the way class loaders are
set up in Catalina (a developer document on this will be added as well,
as soon as I get done adding some new functionality later today).

Basically, all the stuff in the "server" directory gets built in to a
classloader used to load the internal Catalina (servlet container)
classes.  Because Catalina needs an XML parser to read server.xml and
web.xml files, we put one here -- it happens to be Xerces, but could be
any JAXP-compatible parser (possibly different from the one Jasper uses).

The stuff in the "lib" directory gets built in to the classloader
hierarchy that is visible to web applications, but *not* to the internal
Catalina classes.  Jaspser also requires an XML parser (in particular, it
needs Xerces specifically at the moment because of Sax2 dependencies), so
Xerces is put here as well.  But, as mentioned previously, Jasper (and
all the other webapps) need not use the same parser that Catalina itself

> Bob Jamison
> LinCom Corp


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