6 Replies Latest reply on Sep 26, 2006 1:50 PM by jogjog

    Tutorial 1.2.2 Deployment problem

    brad0258

      I know this has been discussed but I am not sure I have seen an answer. Here is my configuration. Fedora Core 1, Eclipse 2.1.3, JBoss 3.2.3, Jboss-IDE 1.2.4. Below is the portion of the log that shows the deployment error. I have also included my ejb-jar.xml. Any assitance would be greatly appreciated. If I deploy the war and jar independently the war deploys the jar does not with the same error.


      JBoss Log:

      14:49:29,107 INFO [MainDeployer] Starting deployment of package: file:/usr/jboss-3.2.3/server/default/deploy/FiboApp.ear
      14:49:29,119 INFO [EARDeployer] Init J2EE application: file:/usr/jboss-3.2.3/server/default/deploy/FiboApp.ear
      14:49:30,898 WARN [verifier] EJB spec violation:
      Bean : Fibo
      Section: 22.2
      Warning: The Bean Provider must specify the fully-qualified name of the Java class that implements the enterprise bean's business methods in the <ejb-class> element.
      Info : Class not found on 'tutorial.ejb.FiboBean': No ClassLoaders found for: tutorial.ejb.FiboBean

      14:49:30,906 ERROR [MainDeployer] could not create deployment: file:/usr/jboss-3.2.3/server/default/tmp/deploy/tmp30344FiboApp.ear-contents/FiboEJB.jar
      org.jboss.deployment.DeploymentException: Verification of Enterprise Beans failed, see above for error messages.
      at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:491)
      at org.jboss.deployment.MainDeployer.create(MainDeployer.java:786)
      at org.jboss.deployment.MainDeployer.create(MainDeployer.java:778)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:641)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)
      at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy6.deploy(Unknown Source)
      at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)
      at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)
      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)
      14:49:30,929 ERROR [MainDeployer] could not create deployment: file:/usr/jboss-3.2.3/server/default/deploy/FiboApp.ear
      org.jboss.deployment.DeploymentException: Verification of Enterprise Beans failed, see above for error messages.
      at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:491)
      at org.jboss.deployment.MainDeployer.create(MainDeployer.java:786)
      at org.jboss.deployment.MainDeployer.create(MainDeployer.java:778)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:641)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)
      at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy6.deploy(Unknown Source)
      at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)
      at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)
      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)



      ejb-jar.xml:

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">

      <ejb-jar >

      <![CDATA[No Description.]]>
      <display-name>Generated by XDoclet</display-name>

      <enterprise-beans>

      <!-- Session Beans -->

      <![CDATA[EJB that computes Fibonacci suite]]>
      <display-name>Fibo EJB</display-name>

      <ejb-name>Fibo</ejb-name>

      tutorial.interfaces.FiboHome
      tutorial.interfaces.Fibo
      <ejb-class>tutorial.ejb.FiboBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>



      <!--
      To add session beans that you have deployment descriptor info for, add
      a file to your XDoclet merge directory called session-beans.xml that contains
      the markup for those beans.
      -->

      <!-- Entity Beans -->
      <!--
      To add entity beans that you have deployment descriptor info for, add
      a file to your XDoclet merge directory called entity-beans.xml that contains
      the markup for those beans.
      -->

      <!-- Message Driven Beans -->
      <!--
      To add message driven beans that you have deployment descriptor info for, add
      a file to your XDoclet merge directory called message-driven-beans.xml that contains
      the <message-driven></message-driven> markup for those beans.
      -->

      </enterprise-beans>

      <!-- Relationships -->

      <!-- Assembly Descriptor -->
      <assembly-descriptor >
      <!--
      To add additional assembly descriptor info here, add a file to your
      XDoclet merge directory called assembly-descriptor.xml that contains
      the <assembly-descriptor></assembly-descriptor> markup.
      -->

      <!-- finder permissions -->

      <!-- transactions -->

      <!-- finder transactions -->
      </assembly-descriptor>

      </ejb-jar>

        • 1. Re: Tutorial 1.2.2 Deployment problem

          Hi,

          Extract of your ejb-jar.xml :

          -- BEGIN --
          <ejb-name>Fibo</ejb-name>

          tutorial.interfaces.FiboHome
          tutorial.interfaces.Fibo
          <ejb-class>tutorial.ejb.FiboBean</ejb-class>
          <session-type>Stateless</session-type>
          <transaction-type>Container</transaction-type>
          -- END --

          I have noticed that the home interface and remote one are not enclosed by tags. Is it a mistake during the copy ?

          You can try to delete every generated file and regenerate them again. You can also check the content of the packaged jars to see if everything is here.

          Laurent.

          • 2. Re: Tutorial 1.2.2 Deployment problem
            brad0258

            The missing tags around the interfaces are a result of pasting to this text box and the subsequent processing. I verified the installation according to the tutorial documentation and there are no errors. I rebuilt the project from class generation and deployment and the same error occured. I validated the FiboEJB.jar and provided the contents in tree format below. Any suggestions on next steps? Have you built or can you build the tutorial with the same (or similar) environment as mine? Should I submit a bug report?

            FiboEJB.jar
            META-INF
            ejb-jar.xml
            jboss.xml
            MANAFEST.MF
            Fibo.class
            FiboBean.class
            Fibo.Home.class

            My JAVA version in J2sdk1.4.2_03 in addition to the information in my initial message.

            • 3. Re: Tutorial 1.2.2 Deployment problem
              brad0258

              Fibo.Home.class is a typing error. It is FiboHome.class

              • 4. Re: Tutorial 1.2.2 Deployment problem
                brad0258

                The problem is with the format of the jar file. It is looking for a tutorial/ejb directory in the jar. I was able to generate a correct jar by making modifications to the deployment configuration. Here are the modifications:

                Replace the folder Tutorial/bin containing the includes for tutorial/ejb/*.class, tutorial/interfaces/*.class with the following two folders:

                Tutorial/bin/tutorial/ejb include *.class and a prefix of tutorial/ejb
                Tutorial/bin/tutorial/interfaces inlude *.class and a prefix of tutorial/interfaces

                Then rebuild you jar

                My war file deployed but when I tried to execute the application I received an error thorugh the brower saying tutorial.web.ComputeServlet could not be found.
                You will also need to redo your war file and move the class file out from under WEB-INF/classes to tutorial/web. That is done in the same fashion as above

                Tutorial/bin/tutorial/web include *.class prefix tutorial/web

                Then rebuild your war.

                I would be glad to send you my jar and war. Email me at brad.harris@bigfoot.com.


                • 5. Re: Tutorial 1.2.2 Deployment problem
                  ttkong

                  I have encountered the same problem:

                  18:06:59,866 WARN [verifier] EJB spec violation:
                  Bean : Fibo
                  Section: 22.2
                  Warning: The Bean Provider must specify the fully-qualified name of the Java class that implements the enterprise bean's business methods in the <ejb-class> element.
                  Info : Class not found on 'tutorial.ejb.FiboBean': No ClassLoaders found for: tutorial.ejb.FiboBean

                  18:06:59,866 ERROR [MainDeployer] Could not create deployment: file:/C:/JBOSSIDE-1.6.0/jboss-4.0.4.GA/server/default/tmp/deploy/tmp47761FiboApp.ear-contents/FiboEJB.jar
                  org.jboss.deployment.DeploymentException: Verification of Enterprise Beans failed, see above for error messages.
                  at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:610)
                  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                  at java.lang.reflect.Method.invoke(Unknown Source)

                  However, the problem did not happen then I perform the tutorial in another machine with the same software versions.

                  Who can help explaining this situation?

                  • 6. Re: Tutorial 1.2.2 Deployment problem
                    jogjog

                    same problem here.... i'm a student and now i'm gonna die :(