I think the packages are needed for those using JDK 1.3 either to build
or use XMLC.
However, other then that, I don't see a problem removing the standard
endorsed packages from XMLC. Actually, it's a good idea as the first
step to move XMLC to more standard DOM interface. non-standard DOM
interface dependency was one of the problem with XMLC.
If it's OK to force JDK 1.4 as the minimum requirement for XMLC, I'd
say go ahead with the change.
David
On Monday, May 19, 2003, at 12:36 Asia/Shanghai, Jacob Kjome wrote:
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
_______________________________________________
XMLC mailing list
XMLC@xxxxxxxxxxx
http://www.enhydra.org/mailman/listinfo.cgi/xmlc
|