5 Replies Latest reply on Aug 31, 2004 7:19 PM by hildo

    EJB Deployment failure in JBoss 4.0.0 DR3

    hildo

      Hi all. I wonder if anyone else has come across this.

      I have two JARS, each containing EJB's. I've got the two JARS contained within a single EAR file. The Enterprise Descriptior defines both of the JAR files as modules.

      Classes in the second JAR file use the EJB Interfaces defined in the first JAR file. Classes in the first JAR file do not uses classes in the second.

      When I was using JBoss 4.0.0 DR2, this EAR file would deploy successfully. When I use DR3, it does not. Does anyone know if there's something additional that I need to add?

      Thanks,
      Ed

        • 1. Re: EJB Deployment failure in JBoss 4.0.0 DR3
          darranl

          Some more information to you post is what you need to add.

          What error are you getting?

          • 2. Re: EJB Deployment failure in JBoss 4.0.0 DR3
            hildo

            Can do. I don't have the error right now, but I'll get it tonight and post more tomorrow. I'll also provide the details of the OS, JVM, etc.

            Thanks,
            Ed

            • 3. Re: EJB Deployment failure in JBoss 4.0.0 DR3
              hildo

              OK, here are more details.

              I have an EAR file (bpserver.ear) which contains two jar files:

              bpserver.jar, containing the server code
              bpserver-test.jar, containing JUnit test cases and a single EJB which is used to execute the test cases within the JBoss server

              The application.xml looks like

              <?xml version="1.0" encoding="UTF-8"?>
              <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
              "http://java.sun.com/dtd/application_1_3.dtd">
              <application>
               <display-name>BPlan Server</display-name>
               <description>Server for the BPlan system.</description>
               <module>
               <ejb>bpserver.jar</ejb>
               </module>
               <module>
               <ejb>bpserver-test.jar</ejb>
               </module>
              </application>


              I can include the deployment descriptors for the two JAR files, but one is fairly lengthy. So I'll provide those if asked.

              When I attempt to deploy my EAR file in 4.0.0 DR3, I get the following exception:

              16:08:10,462 INFO [MainDeployer] Starting deployment of package: file:/D:/jboss/server/bpserver/deploy/bpserver.ear
              16:08:10,472 INFO [EARDeployer] Init J2EE application: file:/D:/jboss/server/bpserver/deploy/bpserver.ear
              16:08:11,013 INFO [EjbModule] Deploying TaskBean
              16:08:11,183 INFO [EjbModule] Deploying SubtaskAssignBean
              16:08:11,203 INFO [EjbModule] Deploying UserBean
              16:08:11,273 INFO [EjbModule] Deploying DataBean
              16:08:11,293 INFO [EjbModule] Deploying SequenceGeneratorBean
              16:08:11,313 INFO [EjbModule] Deploying AdministrationBean
              16:08:11,654 WARN [EJBDeployer] Verify failed; continuing
              java.lang.NoClassDefFoundError: com/bh/bplan/ejbtest/EJBTestCase
               at java.lang.Class.getDeclaredMethods0(Native Method)
               at java.lang.Class.privateGetDeclaredMethods(Class.java:1647)
               at java.lang.Class.getDeclaredMethod(Class.java:1254)
               at org.jboss.verifier.strategy.AbstractVerifier.hasFinalizer(AbstractVerifier.java:589)
               at org.jboss.verifier.strategy.EJBVerifier20.verifySessionBean(EJBVerifier20.java:1100)
               at org.jboss.verifier.strategy.EJBVerifier20.checkSession(EJBVerifier20.java:92)
               at org.jboss.verifier.BeanVerifier.verify(BeanVerifier.java:162)
               at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:483)
               at org.jboss.deployment.MainDeployer.create(MainDeployer.java:818)
               at org.jboss.deployment.MainDeployer.create(MainDeployer.java:810)
               at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:672)
               at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:636)
               at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
               at java.lang.reflect.Method.invoke(Method.java:324)
               at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:74)
               at org.jboss.mx.server.Invocation.dispatch(Invocation.java:45)
               at org.jboss.mx.server.Invocation.invoke(Invocation.java:70)
               at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:168)
               at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:469)
               at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:174)
               at $Proxy7.deploy(Unknown Source)
               at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:303)
               at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:477)
               at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)
               at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:212)
               at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:191)
              16:08:11,744 ERROR [MainDeployer] could not create deployment: file:/D:/jboss/server/bpserver/tmp/deploy/tmp6446bpserver.ear-contents/bpserver-test.jar
              org.jboss.deployment.DeploymentException: Verification of Enterprise Beans failed, see above for error messages.
               at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:499)
               at org.jboss.deployment.MainDeployer.create(MainDeployer.java:818)
               at org.jboss.deployment.MainDeployer.create(MainDeployer.java:810)
               at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:672)
               at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:636)
               at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
               at java.lang.reflect.Method.invoke(Method.java:324)
               at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:74)
               at org.jboss.mx.server.Invocation.dispatch(Invocation.java:45)
               at org.jboss.mx.server.Invocation.invoke(Invocation.java:70)
               at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:168)
               at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:469)
               at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:174)
               at $Proxy7.deploy(Unknown Source)
               at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:303)
               at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:477)
               at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)
               at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:212)
               at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:191)
              16:08:11,834 ERROR [MainDeployer] could not create deployment: file:/D:/jboss/server/bpserver/deploy/bpserver.ear
              org.jboss.deployment.DeploymentException: Verification of Enterprise Beans failed, see above for error messages.
               at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:499)
               at org.jboss.deployment.MainDeployer.create(MainDeployer.java:818)
               at org.jboss.deployment.MainDeployer.create(MainDeployer.java:810)
               at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:672)
               at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:636)
               at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
               at java.lang.reflect.Method.invoke(Method.java:324)
               at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:74)
               at org.jboss.mx.server.Invocation.dispatch(Invocation.java:45)
               at org.jboss.mx.server.Invocation.invoke(Invocation.java:70)
               at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:168)
               at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:469)
               at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:174)
               at $Proxy7.deploy(Unknown Source)
               at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:303)
               at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:477)
               at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)
               at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:212)
               at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:191)


              The class it's complaining about, EJBTestCase, is in bpserver-test.jar. I get this exception regardless of the sequence of the ejb modules in the application descriptor.

              This worked fine in 4.0.0 DR2 (if I use that, I can execute my JUnit test cases without a problem). Is there something in DR3 that I need to do in addition to what I've done?

              I'm using JDK 1.4.2. This occurs when I run JBoss on a Windows 2000 Professional Box or a Linux box.

              Thanks,
              Ed

              • 4. Re: EJB Deployment failure in JBoss 4.0.0 DR3
                hildo

                FYI.

                I've downloaded JBoss 4.0.0 DR4, and this exception is still thrown.

                • 5. Re: EJB Deployment failure in JBoss 4.0.0 DR3
                  hildo

                  I've finally sorted this out. When I used UCL tracing, I found out that the class it couldn't find was junit.framework.TestCase. While I included the junit.jar in the EAR file, I didn't update the MANIFEST.MF file in the test jar to include the junit.jar file in the classpath to use. Once I did that, it worked as normal.

                  I can only assume that early versions of the 4 developers release had a copy of junit already in the classpath, and then it was removed. So a case of pilot error. :)