Archive for September, 2006

14compatibility.jar in Apple JDK 1.5

A while ago, I came across a weird issue while running the unit tests for Spring-WS. Some of my tests would run perfectly fine on both Windows and Linux, but would not run on Mac OS X.

After some investigation, I came across the /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar on my classpath. It contains the following:

    0 Mon Jan 16 14:21:08 CET 2006 META-INF/
    70 Mon Jan 16 14:21:08 CET 2006 META-INF/MANIFEST.MF
     0 Mon Jan 16 14:20:58 CET 2006 org/
     0 Mon Jan 16 14:20:58 CET 2006 org/apache/
     0 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/
     0 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/jaxp/
  1489 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/jaxp/DefaultValidationErrorHandler.class
   912 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/jaxp/DocumentBuilderFactoryImpl.class
  3494 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/jaxp/DocumentBuilderImpl.class
  1671 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/jaxp/SAXParserFactoryImpl.class
  2550 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/jaxp/SAXParserImpl.class
     0 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/
   895 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/AttributeDecl.class
   287 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/AttributesEx.class
  1557 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/AttributesExImpl.class
  1826 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/ContentModel.class
  1959 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/ContentModelState.class
   668 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/ElementDecl.class
   606 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/ElementValidator.class
   241 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/EndOfInputException.class
   306 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/EntityDecl.class
   933 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/ExternalEntity.class
 11395 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/InputEntity.class
   363 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/InternalEntity.class
   603 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/Parser2$1.class
   602 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/Parser2$2.class
   604 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/Parser2$3.class
  1105 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/Parser2$4.class
   542 Mon Jan 16 14:20:58 CET 2006 org/apache/crimson/parser/Parser2$Catalog.class
...

The Crimson XML parser! And the jar contains a version of Xalan as well.

No wonder my XML namespace tests failed: instead of using Xerces, which is part of JDK 1.5, it used Crimson! And the fact that the JAXP libraries in JDK 1.4 used the org.apache.* package makes it pretty hard to override them with your own version. Luckily, this was fixed in JDK 1.5, where Xerces was included in the com.sun.org.apache.xerces package.

I deleted the 14compatibility.jar, and the tests ran fine again. I have no idea what the goal of this jar is, but in my opinion, Apple should get rid of it. JDK 1.4 uses Crimson as a JAXP implementation, and JDK 1.5 uses Xerces. No need for a compatibility jar.

Comments (1)

Conferences, conferences, conferences

In the next few months, I will be speaking at the following conferences:

  • On the 13th and 14th of September, I will at JavaZone in Oslo.
  • On the 24th of October, I will be speaking at The Enterprise SOA Conference in Antwerp. Hopefully, someone there can explain to me what SOA means ;-) .
  • On November 6th, I will be at the W-JAX 2006 in Munich,
  • and
  • On December 7th-10th, I will be at the Spring Experience in Florida

That’s it for now, more to come!

Comments (1)

Amsterdam Java Meetup

As Alef mentions on his blog, the next Amsterdam Java meetup will be on September 29th, at 18:00 in De Jaren (Nieuwe Doelenstraat 20). It’s a great opportunity to meet fellow Java developers, and (most importantly) to consume large amounts of alcohol.

Hope to see you there!

Comments (1)