[EMAIL PROTECTED] wrote:

Thanks, that solved the problem.

Why on earth does it make a difference where a jar is located? :-(

Bye, Helma

Because the way the JVM loads classes is different. /lib/endorsed is the first place the JVM looks for stuff, this was done to allow people to have newer versions of the libraries that are shipped with the JVM (like Xerces, for example)

I agree it's a massive hack and a real problem.

BTW, this seems to show that you have another BCEL version in your classpath and that the cocoon build system is picking up that one instead of the one that cocoon itself ships. Moving it into 'endorsed' make the JVM load classes from this version rather than your own.

You might want to consider cleaning up your classpath: it is a very bad idea to fix your classpath in your environment (or to put stuff in the lib/ext or lib/endorsed path of your JVM) Much better to fix the paths in script files that invoke the JVM.

I'm always amazed by how elegant the classloading mechanism in java is and how poor its core implementation (using classpaths and stupid locations like lib/ext and lib/endorsed), it's clear that different people worked on it. The first was a group of smart people, the other was a bunch of idiots that though that you only needed one JVM on your machine at any given time.

HTH

--
Stefano.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature



Reply via email to