4 Replies Latest reply on Aug 26, 2003 12:24 PM by vanitas

    Jar deploy order

    c_inconnu

      Hi,

      I have seen an answer for this question but it didn't work for me...
      I have to jar files: "f-ejb.jar" depends on "f.jar". When i copy f to the deploy directory, wait for deployment then copy f-ejb, all is fine. But when i copy the 2 at the same time, jboss starts with f-ejb and gives me a NoClassDefFoundError (see log).

      The answer i read is to modify :
      False
      to
      True
      in jboss-service.xml

      I did it, jboss take it into account :
      17:37:27,806 DEBUG [ServiceConfigurator] RecursiveSearch set to true in jboss.deployment:type=DeploymentScanner,flavor=URL

      But i've got :


      -----------------------------------------------------------
      17:39:41,388 INFO [MainDeployer] Starting deployment of package: file:/D:/Java/jboss-3.2.1/server/default/deploy/collab
      orateurs-ejb.jar
      17:39:42,650 WARN [EJBDeployer] Verify failed; continuing
      java.lang.NoClassDefFoundError: fr/logatique/collaborateurs/exception/InvalidParameterException
      at java.lang.Class.getDeclaredMethods0(Native Method)
      at java.lang.Class.privateGetDeclaredMethods(Class.java:1647)
      at java.lang.Class.privateGetPublicMethods(Class.java:1770)
      at java.lang.Class.getMethods(Class.java:824)
      at org.jboss.verifier.strategy.AbstractVerifier.hasEJBCreateMethod(AbstractVerifier.java:647)
      at org.jboss.verifier.strategy.EJBVerifier20.verifySessionBean(EJBVerifier20.java:1036)
      at org.jboss.verifier.strategy.EJBVerifier20.checkSession(EJBVerifier20.java:92)
      at org.jboss.verifier.BeanVerifier.verify(BeanVerifier.java:159)
      at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:472)
      at org.jboss.deployment.MainDeployer.create(MainDeployer.java:784)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:639)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613)
      at sun.reflect.GeneratedMethodAccessor14.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:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy7.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:20
      0)
      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:211)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:190)
      17:39:43,051 INFO [EjbModule] Creating
      17:39:43,091 INFO [EjbModule] Deploying CollaborateurEntity
      17:39:43,351 INFO [EjbModule] Deploying CollaborateurController
      17:39:43,391 INFO [EjbModule] Deploying SequenceGenerator
      17:39:43,441 INFO [EntityContainer] Creating
      17:39:43,461 INFO [EntityInstancePool] Creating
      17:39:43,481 INFO [EntityInstancePool] Created
      17:39:43,531 INFO [EntityContainer] Created
      17:39:43,551 INFO [StatelessSessionContainer] Creating
      17:39:43,571 WARN [ServiceController] Problem creating service jboss.j2ee:jndiName=ejb/CollaborateurController,service=
      EJB
      java.lang.NoClassDefFoundError: fr/logatique/collaborateurs/exception/InvalidParameterException
      at java.lang.Class.getDeclaredMethods0(Native Method)
      at java.lang.Class.privateGetDeclaredMethods(Class.java:1647)
      at java.lang.Class.privateGetPublicMethods(Class.java:1770)
      at java.lang.Class.getMethods(Class.java:824)
      at org.jboss.ejb.StatelessSessionContainer.setupBeanMapping(StatelessSessionContainer.java:535)
      at org.jboss.ejb.StatelessSessionContainer.createService(StatelessSessionContainer.java:135)
      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      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:549)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966)
      at $Proxy11.create(Unknown Source)
      at org.jboss.system.ServiceController.create(ServiceController.java:310)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      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:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy33.create(Unknown Source)
      at org.jboss.ejb.EjbModule.createService(EjbModule.java:299)
      at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      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:549)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:966)
      at $Proxy11.create(Unknown Source)
      at org.jboss.system.ServiceController.create(ServiceController.java:310)
      at org.jboss.system.ServiceController.create(ServiceController.java:243)
      at sun.reflect.GeneratedMethodAccessor2.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:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy22.create(Unknown Source)
      at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:519)
      at org.jboss.deployment.MainDeployer.create(MainDeployer.java:784)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:639)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:613)
      at sun.reflect.GeneratedMethodAccessor14.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:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy7.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:20
      0)
      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:211)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:190)
      17:39:44,483 INFO [StatelessSessionContainer] Creating
      17:39:44,513 INFO [StatelessSessionInstancePool] Creating
      17:39:44,523 INFO [StatelessSessionInstancePool] Created
      17:39:44,543 INFO [StatelessSessionContainer] Created
      17:39:44,563 INFO [EjbModule] Created
      17:39:44,583 INFO [EjbModule] Starting
      17:39:44,593 INFO [EntityContainer] Starting
      17:39:47,297 INFO [CollaborateurEntity] Table 'COLLABORATEURS' already exists
      17:39:47,587 INFO [EntityInstancePool] Starting
      17:39:47,607 INFO [EntityInstancePool] Started
      17:39:47,617 INFO [EntityContainer] Started
      17:39:47,637 INFO [StatelessSessionContainer] Starting
      17:39:47,687 INFO [StatelessSessionInstancePool] Starting
      17:39:47,697 INFO [StatelessSessionInstancePool] Started
      17:39:47,717 INFO [StatelessSessionContainer] Started
      17:39:47,727 INFO [EjbModule] Started
      17:39:47,737 INFO [EJBDeployer] Deployed: file:/D:/Java/jboss-3.2.1/server/default/deploy/collaborateurs-ejb.jar
      17:39:47,807 INFO [MainDeployer] Deployed package: file:/D:/Java/jboss-3.2.1/server/default/deploy/collaborateurs-ejb.j
      ar
      17:39:47,837 INFO [MainDeployer] Starting deployment of package: file:/D:/Java/jboss-3.2.1/server/default/deploy/collab
      orateurs.jar
      17:39:47,868 INFO [MainDeployer] Deployed package: file:/D:/Java/jboss-3.2.1/server/default/deploy/collaborateurs.jar
      17:39:47,878 ERROR [URLDeploymentScanner] MBeanException: Exception in MBean operation 'checkIncompleteDeployments()'
      Cause: Incomplete Deployment listing:
      Packages waiting for a deployer:

      Incompletely deployed packages:

      MBeans waiting for classes:

      MBeans waiting for other MBeans:
      [ObjectName: jboss.j2ee:jndiName=ejb/CollaborateurController,service=EJB
      state: FAILED
      I Depend On:
      Depends On Me: java.lang.NoClassDefFoundError: fr/logatique/collaborateurs/exception/InvalidParameterException]

        • 1. Re: Jar deploy order
          c_inconnu

          retry...

          • 2. Re: Jar deploy order
            jonlee

            If f.jar is simply a JAR with helper classes (it doesn't actually have any EJBs to deploy), package the set as a SAR or an EAR for deployment, or put f.jar in the server/instance/lib where instance is your JBoss instance.

            Otherwise let the guys know that you've got two EJBs and they can supply a better solution.

            • 3. Re: Jar deploy order
              sabat

              As far as my experience goes, packaging everything in an ear file doesn't work. The dependency problem still exists.

              • 4. Re: Jar deploy order
                vanitas

                Choosing different URLComparator in jboss-service.xml may help you:

                ---
                - org.jboss.deployment.scanner.PrefixDeploymentSorter
                If the name portion of the url begins with 1 or more digits, those
                digits are converted to an int (ignoring leading zeroes), and
                files are deployed in that order. Files that do not start with
                any digits will be deployed first, and they will be sorted by
                extension as above with DeploymentSorter.
                ---

                greg