[jdom-interest] B-7's MANIFEST.MF and newer versions of Xerces = PROBLEMS!!!
Jan C. Zawadzki
jcz at avalor.com
Mon Sep 17 15:51:52 PDT 2001
I've just spent several days tracking a nasty CLASSPATH problem created
by an entry in the Beta 7 MANIFEST.MF entry.
Basically the current jdom.jar will try to load the version of xerces it
ships with - which creates CLASSPATH positioning dependencies that are a
PAIN to track down.
in package/META-INF/MANIFEST.MF, third line:
> Class-Path: ../lib/xerces.jar xerces.jar
remove the ../lib/xerces.jar bit.
What makes this so evil is that the JVM's under Linux resolve symbolic
links. When an symbolic link to jdom.jar is placed in some project's
lib directory, both Linux JVM's still load the ../lib/xerces.jar
RELATIVE to the REAL jdom.jar file - hence forcing the load of the
xerces file shipped with the jdom package. If jdom.jar appears prior to
the newer version of Xerces, bad things happen.
To be honest I don't understand the rationale for placing this line
there in the first place. If the user can put jdom's jar file in the
classpath, they can also put xerces there. Using the class-path entry
in the manifest file hides classpath behaviour, and makes debugging
related problems much harder...
More information about the jdom-interest