Jonas problem caused by MANIFEST.MF Classpath entries in Orbeon libs

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Jonas problem caused by MANIFEST.MF Classpath entries in Orbeon libs

Adrian Baker-2
I've had a bit of trouble deploying Orbeon as a WAR inside an EAR to Jonas.

For some reason not understood by me, if you deploy a WAR directly to
Jonas, it ignores any Classpath entries in the manifests of jars within
the war. For example, the MANIFEST.MF of castor-0_9_4_3-xml.jar contains
references to several jars not present in the Orbeon distribution:

Manifest-Version: 1.0
Specification-Title: Castor XML, JDO, DAX, DSML
Specification-Vendor: Intalio Inc.
Created-By: Ant 1.4
Implementation-Vendor: Intalio Inc.
Class-Path: xerces.jar jdbc-se2.0.jar jndi.jar jta1.0.1.jar
Specification-Version: 0.8
Implementation-Version: 0.9.4.3
Implementation-Title: Castor

But Jonas happily deploys the war without complaint - great, no problem,
since those jars aren't needed or wanted. Put the WAR inside an EAR
however, and try and deploy that - Jonas will attempt to locate all
these jars specified in the manifest, and error out because they aren't
present:
    org.objectweb.jonas.ear.lib.EarClassPathManagerException: Error
while reading manifest file from the file xerces.jar : The system cannot
find the file specified

The somewhat painful workaround is to go through all the jars in the
Orbeon distribution and remove problematic classpath entries from the
manifests.These are the jars I've found need changing:

ant-1_5_4.jar
Class-Path: xml-apis.jar xercesImpl.jar optional.jar xalan.jar

castor-0_9_4_3-xml.jar
Class-Path: xerces.jar jdbc-se2.0.jar jndi.jar jta1.0.1.jar

fop-0_20_5.jar
Class-Path: xercesImpl-2.2.1.jar xml-apis.jar xalan-2.4.1.jar batik.ja
 r jimi-1.0.jar avalon-framework-cvs-20020806.jar

joost-20030623_orbeon.jar
Class-Path: commons-logging.jar lib/commons-logging.jar

msv-20031020.jar
Class-Path: xercesImpl.jar isorelax.jar relaxngDatatype.jar xsdlib.jar
  xmlParserAPIs.jar resolver.jar

struts-1_1.jar
Class-Path:  commons-beanutils.jar commons-collections.jar commons-dig
 ester.jar commons-logging.jar commons-validator.jar jakarta-oro.jar s
 truts-legacy.jar

xalan-2_5_1_orbeon.jar
Class-Path: xercesImpl.jar xml-apis.jar

Is it a good idea for Orbeon to be shipping jars with unfulfilled
dependencies declared in their manifests? I realise some of these jars
are simply taken as-is from third parties, but perhaps they should have
their manifests changed to removed the dependency if Orbeon doesn't
include these in it's distribution?

If not, well, at least this might help anyone who runs into this same issue.

Adrian






--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Jonas problem caused by MANIFEST.MF Classpath entries in Orbeon libs

Erik Bruchez
Administrator
Adrian Baker wrote:

 > Is it a good idea for Orbeon to be shipping jars with unfulfilled
 > dependencies declared in their manifests? I realise some of these
 > jars are simply taken as-is from third parties, but perhaps they
 > should have their manifests changed to removed the dependency if
 > Orbeon doesn't include these in it's distribution?

Adrian,

Thanks for the analysis. I guess that no, it's not a good idea, but
it's the first time somebody reports this problem.

I wonder if this is a feature or a bug that Jonas reports those
errors, and either way if there is simply a way to tell Jonas, in some
descriptor, not to care about those dependencies.

We can all blame Java for this broken dependency mechanism (Java needs
a real system of dependencies and services a la OSGi). It is
unfortunately a maintenance issue on our side to have to process all
the JAR files to get rid of those dependencies. For now, since you
have done the research already, I have removed the dependencies you
mentioned, but I have not tested them with Jonas. If you have a chance
to grab an unstable build, maybe you can give it a try and report
back?

   http://forge.objectweb.org/nightlybuilds/ops/ops/

-Erik



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws