6 Replies Latest reply on Jul 21, 2005 3:55 AM by myparu

    JBoss 4.0.2 breaks my web app

      Hi all,
      I am trying to upgrade my JBoss installation to 4.0.2, and I am having a problem because my app deploys fine on JBoss 4.0.2RC1, but when I try to deploy the same .ear file in the release version 4.0.2, I get the following Exception:

      12:20:10,200 INFO [EARDeployer] Init J2EE application: file:/usr/local/bin/jboss-4.0.2/server/default/deploy/Gtor.ear
      12:20:17,658 INFO [TomcatDeployer] deploy, ctxPath=/, warUrl=file:/usr/local/bin/jboss-4.0.2/server/default/tmp/deploy/tmp39045Gtor.ear-contents/Gtor.war/
      12:20:18,502 INFO [[/]] Marking servlet Gtor as unavailable
      12:20:18,503 ERROR [[/]] Error loading WebappClassLoader
      delegate: false
      repositories:
      ----------> Parent Classloader:
      java.net.FactoryURLClassLoader@75be38
      ui.servlets.GtorActionServlet
      java.lang.ClassNotFoundException: ui.servlets.GtorActionServlet

      The app is just a servlet based web app, but I am bundling it with a web service each in separate .war files inside the .ear file.
      I am also putting the jar files that the app is dependent on (this includes a jar file containing the servlet that JBoss can't find) into the root of the ear.
      I am specifying all these dependent jar files in the META-INF/MANIFEST.MF file
      my MANIFEST.MF file looks like this:

      Manifest-Version: 1.0
      Ant-Version: Apache Ant 1.5.4
      Created-By: 1.4.1_01-b01 (Sun Microsystems Inc.)
      Class-Path: Gtor.jar activation.jar axis.jar cryptix32.jar jce.jar junit.jar mail.jar standard.jar struts.jar xercesImpl.jar xml-apis.jar xmlParserAPIs.jar xstream-1.1.jar

      The jar file containing the servlet is Gtor.jar.

      Does anyone have any idea why this works in 4.0.2RC1, but not in the release version 4.0.2?

      Any help appreciated!

      Thanks,
      Adrian

        • 1. Re: JBoss 4.0.2 breaks my web app

          I have a very similar problem (i'm working with 4.0.2RC1)

          My ear looks like this:


          <pre>
          my.ear
          lib/my_common.jar
          my.war
          META-INF/MANIFEST.MF that contains a Class-Path: ./lib/my_common.jar
          </pre>


          Now although I have the reference

          Class-Path: ./lib/my_common.jar

          I get a class not found exception when jboss loads my war although that class exists in my_common.jar

          anyone knows why?

          • 2. Re: JBoss 4.0.2 breaks my web app
            feroz_ps

            JBOSS 4.0.2 uses unified ClassLoader to isolate ur one app from another most probably bcause of classes in twoi diff application Go thrgh ClassLoading configuratyion of jboss in WIki Pages of jboss

            • 3. Re: JBoss 4.0.2 breaks my web app

              hmm i still dont get it, how can i make the following to work?


              Class-Path: ./lib/my_common.jar



              • 4. Re: JBoss 4.0.2 breaks my web app

                Hello?

                • 5. Re: JBoss 4.0.2 breaks my web app
                  lujhuang

                  I'm having a similar situation: the app ran in Jboss 4.0.1sp1 but won't in Jboss 4.0.2. The jar file containing the class: org.apache.cactus.server.runner.ServletTestRunner (cactus-1.7.jar) is in the server/default/lib directory. Can someone point us to a solution?

                  The error message:

                  10:17:03,730 INFO [[/LightSpeedXmlWeb]] Marking servlet ServletTestRunner as unavailable
                  10:17:03,735 ERROR [[/LightSpeedXmlWeb]] Error loading WebappClassLoader^M
                  delegate: false^M
                  repositories:^M
                  /WEB-INF/classes/^M
                  ----------> Parent Classloader:^M
                  java.net.FactoryURLClassLoader@4073016^M
                  org.apache.cactus.server.runner.ServletTestRunner
                  java.lang.ClassNotFoundException: org.apache.cactus.server.runner.ServletTestRunner
                  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1332)
                  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181)
                  at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1027)



                  "adrianwilford" wrote:
                  Hi all,
                  I am trying to upgrade my JBoss installation to 4.0.2, and I am having a problem because my app deploys fine on JBoss 4.0.2RC1, but when I try to deploy the same .ear file in the release version 4.0.2, I get the following Exception:

                  12:20:10,200 INFO [EARDeployer] Init J2EE application: file:/usr/local/bin/jboss-4.0.2/server/default/deploy/Gtor.ear
                  12:20:17,658 INFO [TomcatDeployer] deploy, ctxPath=/, warUrl=file:/usr/local/bin/jboss-4.0.2/server/default/tmp/deploy/tmp39045Gtor.ear-contents/Gtor.war/
                  12:20:18,502 INFO [[/]] Marking servlet Gtor as unavailable
                  12:20:18,503 ERROR [[/]] Error loading WebappClassLoader
                  delegate: false
                  repositories:
                  ----------> Parent Classloader:
                  java.net.FactoryURLClassLoader@75be38
                  ui.servlets.GtorActionServlet
                  java.lang.ClassNotFoundException: ui.servlets.GtorActionServlet

                  The app is just a servlet based web app, but I am bundling it with a web service each in separate .war files inside the .ear file.
                  I am also putting the jar files that the app is dependent on (this includes a jar file containing the servlet that JBoss can't find) into the root of the ear.
                  I am specifying all these dependent jar files in the META-INF/MANIFEST.MF file
                  my MANIFEST.MF file looks like this:

                  Manifest-Version: 1.0
                  Ant-Version: Apache Ant 1.5.4
                  Created-By: 1.4.1_01-b01 (Sun Microsystems Inc.)
                  Class-Path: Gtor.jar activation.jar axis.jar cryptix32.jar jce.jar junit.jar mail.jar standard.jar struts.jar xercesImpl.jar xml-apis.jar xmlParserAPIs.jar xstream-1.1.jar

                  The jar file containing the servlet is Gtor.jar.

                  Does anyone have any idea why this works in 4.0.2RC1, but not in the release version 4.0.2?

                  Any help appreciated!

                  Thanks,
                  Adrian


                  • 6. Re: JBoss 4.0.2 breaks my web app
                    myparu

                    tomerbd2:

                    Find the below line in deploy\jbossweb-tomcat55.sar\META-INF\jboss-service.xml

                    <attribute name="UseJBossWebLoader">false</attribute>
                    


                    and change it to true, that might help.

                    This was set to false by default in 4.0.1sp1, and to true in 4.0.2, iirc.

                    Murali