On May 15, 2007, at 7:55 AM, Jochen Zink wrote:
Hello all,
I have an EAR Archive. The archive contains a WAR-File (WebApp.war)
and a JAR File (ejb.jar). The JAR contains a MessageDrivenBean. In
a lib folder inside the ear are some JAR-Libs. Some of these libs
are used from the webapp and some from the MDB.
My Problem is:
Both, the war and the ejb jar Archive have a MANIFEST.MF in the
META-INF Directory. In that manifest the class-path attribute is
set to some libs in the lib folder inside the ear. This works fine
if I does not place ejb.jar in the ear and the war archive is the
only one inside the ear. But if both archives are inside the ear
some strange errors happens. While deploying the Webapp, geronimo
does not find the libs which are placed in lib folder of the ear
(NoClassDefFound). Whithout the ejb.jar, the Webapplication is
loaded correctly. If I define exactly the same class-path attribute
in manifest.mf of the ejb-jar, the webapplication starts correctly.
So, it seems that the ejb.jar manipulate the classpath of the
webapplication.
With two Webapplications inside the same ear, everythink works
fine. The problem raised only with WAR nad EJB-Jar archives.
Has anyone an idea why this happen?
Please always supply complete information on which version of
geronimo you are using. We occasionally have fixed bugs :-)
NoClassDefFound usually means the class is in an unexpected
classloader, not that it isn't there at all. What is the exact
error? Do any classes in the lib jars load classes from the war?
The ejb jars' classloader is going to be a parent of the war
classloader, so if you remove the manifest classpath entries from the
war that are also present in the ejb jars manifest classpath the lib
classes should be available to both the ejbs and the web layer, both
loaded in the same classloader.
Hope this helps
thanks
david jencks
Thanaks a lot!
structure:
ear:
|-- lib/
|--jarFileA.jar
|--jarFileB.jar
|-- META-INF/
|--application.xml
|--geronimo-application.xml
|-- WebApp.war
|-- WEB-INF/
|--- // Some webapp stuff
|-- META-INF/
|-- web.xml
|-- geronimo-web.xml
|-- MANIFEST.MF
|-- ejb.jar
|-- META-INF
|-- ejb-jar.xml
|-- openejb-jar.xml
|-- MANIFEST.MF
_____________________________________________________________________
Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
http://smartsurfer.web.de/?mc=100071&distributionid=000000000066