geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aman Nanner/MxI Technologies <aman.nan...@mxi.com>
Subject Re: Servlet fails to deploy
Date Fri, 09 Feb 2007 17:02:12 GMT
It seems like the behaviour is different depending on whether I deploy the
EAR as "inPlace" or not.  I was deploying an expanded EAR "inPlace" and it
seems that I needed the "../" prefix before each JAR in my Manifest class
path.  I tried deploying an EAR containing actual JAR archives without the
"inPlace" attribute, and I had to change my Manifest classpath references
by removing the "../" prefix to make it work.

My guess is that the deployer creates a different folder hiearchy when
deplying an application without the "inPlace" attribute.

Dario Andrade <dario@datscom.com.br> wrote on 02-01-2007 03:28:18 PM:

>
> for me, if you put
>
> Class-Path: library.jar
>
> directly (without path info) in the MANIFEST.MF and the jar itself
> in the root of the ear, it will work
>
>
> Cheers,
> Dario Andrade
>
> Aman Nanner/MxI Technologies escreveu:
>
> >Is this supposed to work the same way when manipulating the Class-Path
> >entry of a Manifest file in an EJB JAR file, rather than a WAR?  It
seems
> >that I'm unable to reference any libraries that I put in the root of the
> >EAR file.  I have to place the library JARS directly in the EJB module
and
> >reference them there from the Manifest.  For example, this works for me:
> >
> >EAR
> >  - META-INF/application.xml
> >  - META-INF/geronimo-application.xml
> >  + EJB JAR
> >       - META-INF/lib/library.jar
> >           -com.foo.Foo.class
> >       - META-INF/MANIFEST.MF: Class-Path: META-INF/lib/library.jar
> >       - META-INF/ejb-jar.xml
> >       - META-INF/openejb-jar.xml
> >
> >
> >but this does not:
> >
> >EAR
> >  - META-INF/application.xml
> >  - META-INF/geronimo-application.xml
> >  + lib/library.jar
> >       - com.foo.Foo.class
> >  + EJB JAR
> >       - META-INF/MANIFEST.MF: Class-Path: ./lib/library.jar
> >       - META-INF/ejb-jar.xml
> >       - META-INF/openejb-jar.xml
> >
> >
> >"Tim Davidson" <trdavidson@gmail.com> wrote on 02-01-2007 03:47:49 AM:
> >
> >
> >
> >>hmmm taking your advice and moving the JAR to the root of the EAR
> >>and updating the manifest class-path accordingly fixed the problem.
> >>So this got me thinking and I tried it again, using a dot in front
> >>of the path (./lib/MyServeltJAR.jar) and it worked ok, this was a
> >>difficult one to spot!
> >>
> >>Thanks again,
> >>
> >>Tim.
> >>
> >>
> >
> >
> >
> >>On 31/01/07, David Carew < dccarew@gmail.com> wrote:
> >>I've done this but the utility jar was in the root of the EAR. I
> >>would suggest putting the utility jar in the root of the EAR file
> >>and then refer to it in the WAR files manifest using the jar files
> >>name (without any directory slashes).
> >>
> >>
> >>
> >
> >
> >
> >>On 1/31/07, Tim Davidson < trdavidson@gmail.com> wrote:
> >>Hi,
> >>
> >>I am having a problem with the servlet classpath for my EAR file
> >>which successfully deploys on GlassFish and JBoss. I have a Servlet,
> >>MyServlet which is in a JAR, MyServeltJAR.jar, the jar is referenced
> >>in the Class-Path attribute of the WAR files MANIFEST file, and the
> >>servlet is referenced in web.xml ie.
> >>
> >>EAR
> >>  - META-INF/application.xml
> >>  - META-INF/geronimo-application.xml
> >>  + lib/MyServletJAR.jar
> >>       - com.foo.MyServelt.class
> >>  + WAR
> >>       - META-INF/MANIFEST.MF: Class-Path: /lib/MyServletJAR.jar
> >>       - WEB-INF/web.xml: <servlet>com.foo.MyServlet</servlet>
> >>       - WEB-INF/geronimo-web.xml
> >>
> >>but Geronimo fails to deply the EAR as it cannot find the Servlet
class:
> >>
> >>
> >>Could not load servlet class com.foo.MyServlet
> >>org.apache.geronimo.common.DeploymentException: Could not load
> >>servlet class com.foo.MyServlet
> >>at org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.
> >>addGBeans(TomcatModuleBuilder.java:386)
> >>at org.apache.geronimo.tomcat.deployment.
> >>TomcatModuleBuilder$$FastClassByCGLIB$$6f85ec2c.invoke(<generated>)
> >>at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> >>...
> >>
> >>Caused by: java.lang.ClassNotFoundException: com.foo.
> >>MyFrameworkServlet in classloader
> >>
> >>
> >default/myapp_myapp.war/1170243138828/car
> >
> >
> >>at org.apache.geronimo.kernel.config.MultiParentClassLoader.
> >>loadClass(MultiParentClassLoader.java:298)
> >>at java.lang.ClassLoader.loadClass(Unknown Source)
> >>...
> >>
> >>Do I need to put a reference to MyServletJAR.jar in geronimo-
> >>application.xml or geronimo-web.xml and if so how do i do that? Or
> >>does MyServletJAR.jar need to contain something else to tell
> >>geronimo about the servlet?
> >>
> >>Many thanks,
> >>
> >>Tim.
> >>
> >>
> >
>
>__________________________________________________________________________________

> >* This message is intended only for the use of the individual or
> entity to which it is addressed, and may contain information that is
> privileged, confidential and exempt from disclosure under applicable
> law. Unless you are the addressee (or authorized to receive for the
> addressee), you may not use, copy or disclose the message or any
> information contained in the message. If you have received this
> message in error, please advise the sender by reply e-mail , and
> delete the message, or call (collect) 001 613 747 4698. *
> >
> >
>

__________________________________________________________________________________
* This message is intended only for the use of the individual or entity to which it is addressed,
and may contain information that is privileged, confidential and exempt from disclosure under
applicable law. Unless you are the addressee (or authorized to receive for the addressee),
you may not use, copy or disclose the message or any information contained in the message.
If you have received this message in error, please advise the sender by reply e-mail , and
delete the message, or call (collect) 001 613 747 4698. *


Mime
View raw message