« Return to Thread: Heads up: mule-1.4, XML, and you

Heads up: mule-1.4, XML, and you

by Holger Hoffstätte-2 :: Rate this Message:

Reply to Author | View in Thread


Here is some intermediate info on the state of MULE-2700 (Mule must not
add xml-apis/xerces to the classpath) and how it affects anybody building
& running on JDK 1.4. Please read the JIRA first for why this is necessary.

As of http://fisheye.codehaus.org/changelog/mule/?cs=9785 1.4 aka trunk
does not reference any SAX/DOM xml-apis or xerces any more, and will
complain loudly via m-a-v should any dependency try to do so. This is the
correct thing to do on JDK 1.5/1.6 but will cause trouble when building &
running on JDK 1.4. To fix this, you MUST drop a valid JAXP implementation
into your JDK 1.4 jre/lib/endorsed directory. This can be either Apache
Xerces or Sun's JAXP reference implementation (which is just a
rebundled/relocated Xerces plus some Sun QA).
For Xerces, get the latest release from
http://xerces.apache.org/xerces2-j/ (as of today that's 2.9.1 which works
fine) and drop the distributed jar files into an "endorsed" directory in
your JDK/JRE lib directory. I suggest to rename them according to their
spec/implementation version, so that the final directory looks like this:

$ls -1
xercesImpl-2.9.1.jar
xml-apis-1.3.04.jar
xml-resolver-1.2.jar
xml-serializer-2.7.1.jar

*Alternatively* (as in XOR) get Sun's JAXP reference implementation from
http://jaxp.dev.java.net/ and install both the -api and -impl jar.

Both drops will update the JDK 1.4 installation with modern SAX/DOM
capabilities; in the case of Sun's JAXP it will also bring the same level
of StAX support as in JDK6, though this does not affect Mule.

The Sun JAXP jars can also be used to update a JDK 1.5 installation
without harm; however this is really only necessary if you have any
special requirements or problems with the stock 1.5 XML parsers.

I have just installed the xerces-2.9.1 jars on dev.ms.com, so that is
covered when using JDK 1.4 in Bamboo.

One remaining issue is the addition of an optional "endorsed" directory to
the server wrapper (standalone server startup). Is this worth the trouble
or should we simply document that anybody using JDK 1.4 needs to either
drop it into their JDK/JRE or set the endorsed.dirs JVM property manually
to wherever they want to keep their endorsed directory? Just wondering
since everybody seems to be using at least JDK 1.5 anyway these days.

-h

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

 « Return to Thread: Heads up: mule-1.4, XML, and you