xmlc's xerces and existing endorsed packages proposal....

Jacob Kjome <[email protected]>
Newsgroups gmane.comp.java.enhydra.xmlc
Message-ID <[email protected]>
I was wondering if anyone has a problem with the following proposal...

I tested building XMLC after removing the endorsed packages (eg... 
javax.xml.*, org.w3c.dom.*, org.xml.* packages) with xercesImpl.jar 
(Xerces2 Implementation) + xml-apis.jar or xmlParserAPIs.jar (containing 
endorsed packages) in An'ts ANT_HOME/lib.  It built just fine.  I then ran 
the tomcat demo (with xercesImpl.jar and xmlParserAPIs.jar in 
CATALINA_HOME/common/endorsed) and everything worked perfectly.

So, I propose that we remove the endorsed packages from XMLC's version of 
Xerces.  Other than removing the endorsed packages from the xerces module, 
the only other thing needed is to comment out the place in the build.xml 
where the "services" are added to the META-INF directory of the generated 
xerces.jar file.

This leaves us with only the XMLC-modified Xerces implementation packages 
under org.enhydra.apache.* and makes it so that putting XMLC's xerces.jar 
in WEB-INF/lib doesn't violate the servlet spec and sun classloading spec 
which state that endorsed package are not to be added to the added/loaded 
to/from the WebappClassLoader/child classloader.  Granted, In many cases, 
this isn't too much of an issue as the container will simply refused to 
load certain package from certain classloaders, but this issues caused many 
bugs in the 4.0.xx versions of Tomcat and very well may continue to cause 
subtle errors in Tomcat-4.1.xx and 5.0.xx.  Plus, it doesn't seem to affect 
XMLC one way or the other and removing them just makes things more 
correct.  Plus it reduces the size of the jar.  That's always a bonus.

I can commit this change as soon as I get the green light from the other 
committers.  I'd really like this to happen sooner than later unless there 
is a good reason not to.  The Xerces2 distribution is distributed along 
with all kinds of packages such as Ant and Tomcat (and many other apps) by 
default.  And, actually, all we mostly need is the endorsed packages which 
come with j2sdk1.4.x by default and also come as separate jars 
otherwise.  Using the ones that come with Xerces2 just means that they are 
as up-to-date as possible since Xerces2 is actively developed and stays on 
top of the latest changes.


As a side note, I also propose removing the source of gnu-regexp from CVS 
and replacing it with the standard binary just like we store bcel.jar in 
CVS.  As far as I know, we haven't changed one thing in that package and 
there isn't much reason to keep it in CVS.


Anyway, please let me know what you think of these proposals.

later,

Jake
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.