5 Replies Latest reply on Apr 16, 2004 2:56 PM by martin0

    class local to jar not found when deployed on 3.2.4, but is

    martin0

      Hi,

      I've 1 ear file with a jar in it. The jar has a class in it that refers to another class - exists in the same jar.

      In 3.2.3 it's fine. In 3.2.4 built from CVS on 5 May 2004, I get NoClassDefFound exception!!

      What's going on?

      Thanks
      Martin

        • 1. Re: class local to jar not found when deployed on 3.2.4, but
          martin0

          Doesn't work with 3.2.4RC1 either, so it's not a faulty cvs build.


          Martin

          • 2. Re: class local to jar not found when deployed on 3.2.4, but
            starksm64

            Show a stacktrace, or better yet, create a but report on sourceforge with the ear. Else you have to debug the class loading by enabling logging:
            http://jboss.org/wiki/Wiki.jsp?page=EnableClassloaderLogging

            • 3. Re: class local to jar not found when deployed on 3.2.4, but
              martin0

              Hi Scott,

              Here is the stack trace:

              14:00:52,231 ERROR [LogInterceptor] Unexpected Error:
              java.lang.NoClassDefFoundError: com.martin.pgpmail.ECommercePGPAuth
               at xpetstore.services.mail.ejb.MailerMDB.send(Ljava.lang.String;Ljava.lang.String;Ljava.lang.String;ZZ)V(MailerMDB.java:166)
               at xpetstore.services.mail.ejb.MailerMDB.onMessage(Ljavax.jms.Message;)V(MailerMDB.java:91)
               at COM.jrockit.reflect.NativeMethodInvoker.invoke0(ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Native Method)
               at COM.jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
               at COM.jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
               at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
               at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(Lorg.jboss.invocation.Invocation;)Ljava.lang.Object;(MessageDrivenContainer.java:460
              )
               at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Lorg.jboss.invocation.Invocation;)Ljava.lang.Object;(CachedConnectionIntercep
              tor.java:185)
               at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(Lorg.jboss.invocation.Invocation;)Ljava.lang.Object;(MessageDrivenInstanceInterceptor.j
              ava:62)
               at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(Lorg.jboss.invocation.Invocation;Z)Ljava.lang.Object;(AbstractTxInterceptor.java:84)
               at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(Lorg.jboss.invocation.Invocation;)Ljava.lang.Object;(TxInterceptorCMT.java:281)
               at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(Lorg.jboss.invocation.Invocation;)Ljava.lang.Object;(TxInterceptorCMT.java:147)
               at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(Lorg.jboss.invocation.Invocation;)Ljava.lang.Object;(RunAsSecurityInterceptor.java:90)
               at org.jboss.ejb.plugins.LogInterceptor.invoke(Lorg.jboss.invocation.Invocation;)Ljava.lang.Object;(LogInterceptor.java:191)
               at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(Lorg.jboss.invocation.Invocation;)Ljava.lang.Object;(ProxyFactoryFinderInterceptor.java:12
              2)
               at org.jboss.ejb.MessageDrivenContainer.internalInvoke(Lorg.jboss.invocation.Invocation;)Ljava.lang.Object;(MessageDrivenContainer.java:374)
               at org.jboss.ejb.Container.invoke(Lorg.jboss.invocation.Invocation;)Ljava.lang.Object;(Container.java:713)
               at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(Ljava.lang.Object;Ljava.lang.reflect.Method;[Ljava.lang.Object;Ljavax.transaction.Transaction;Lj
              ava.security.Principal;Ljava.lang.Object;)Ljava.lang.Object;(JMSContainerInvoker.java:856)
               at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(Ljavax.jms.Message;)V(JMSContainerInvoker.java:1146)
               at org.jboss.jms.asf.StdServerSession.onMessage(Ljavax.jms.Message;)V(StdServerSession.java:276)
               at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(Lorg.jboss.mq.SpyMessage;)V(SpyMessageConsumer.java:867)
               at org.jboss.mq.SpyMessageConsumer.addMessage(Lorg.jboss.mq.SpyMessage;)V(SpyMessageConsumer.java:159)
               at org.jboss.mq.SpySession.run()V(SpySession.java:347)
               at org.jboss.jms.asf.StdServerSession.run0()V(StdServerSession.java:200)
               at org.jboss.jms.asf.StdServerSession.run()V(StdServerSession.java:180)
               at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()V(PooledExecutor.java:727)
               at java.lang.Thread.run()V(Unknown Source)
               at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)


              I don't attach the ear to bug report at present as this is my whole app.

              Can you deduce anything from the trace above?

              I'll have a look at the classloading wiki tomorrow.

              Thanks
              Martin



              • 4. Re: class local to jar not found when deployed on 3.2.4, but
                starksm64

                No, all that says is that xpetstore.services.mail.ejb.MailerMDB has a static reference to type com.martin.pgpmail.ECommercePGPAuth and it or perhaps some superclass/interfaces are not being found.

                • 5. Re: class local to jar not found when deployed on 3.2.4, but
                  martin0

                  I was missing a jar for an interface.

                  Thanks for the tip.

                  Martin