Skip to main content

No need for Xerces jars since Sun includes it in the jvm?

1 reply [Last post]
ennuages
Offline
Joined: 2009-02-18
Points: 0

Hey Everybody,

If one would like to use Xerces in a java app, why should they download it from Apache when it's included in Sun's jvm releases as of 1.4?

I noticed that the "rt.jar" in Sun's jvm for Windows contains an apache folder: jdk1.6.0_11\jre\lib\rt.jar\com\sun\org\apache\,
that contains the following apache folders: bcel, regexp, xalan, xerces, xml, xpath

How does one tell what version of Xerces is being released with a particular Sun jvm release? I looked all over the Sun site - it seems they haven't documented that they are using files from Xerces. They even took the trouble of burying the "org/apache" folder down under the "com/sun" folder -- as if to hide the fact that apache is being used....maybe to take credit for it to make it look like the functionality was developed by Sun?

Is there a chance that one could successfully compile java code that has references to Xerces classes where the developer's project does not contain Xerces jars, but instead relies on the Sun bundled xerces classes -- and while that code would compile file, there could exist runtime exceptions due to potential classes from Xerces that Sun did not include in its jvm -- while if the project did include the Xerces jars - there would be no runtime errors?

Thanks!

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
joehw
Offline
Joined: 2004-12-15
Points: 0

First of all, you are in the right place since you're posting on JAXP forum :) JAXP is an open source project, you may want to take a look at the JAXP documentation on jaxp.dev.java.net.

I have to say that it's unfair to those engineers who made the decision to change the package name to suspect that their purpose was to take away Apache's credit. I would ask questions but not question their integrity. Here's why the package had been changed to com.sun.org.apache:
https://jaxp.dev.java.net/1.4/JAXP-Compatibility.html#packageNamesWhy

You're right that it should have been documented somewhere what version of Xerces and Xalan JAXP based upon. The JAXP project was open-sourced since 1.3 (I can't find any info before that). It was based upon Xerces 2.7 and Xalan 2.6. JAXP 1.4 was a maintenance release and the main change was the addition of StAX using SJSXP (see sjsxp.dev.java.net).

Thanks,
Joe