4 Replies Latest reply on Aug 26, 2004 6:57 PM by Felix Mayer

    NoClassDefFoundError in JBoss 3.2.5 but not in 3.2.3

    Felix Mayer Newbie

      I have an EAR that runs fine on JBoss 3.2.3, but when I deploy it on 3.2.5 I always get a NoClassDefFoundError. The problem class is within a JAR in the EAR. That JAR is on the Class-Path of the manifest file inside of the JAR with our EJBs. I also tried putting the JAR with the problem class in the server/default/lib directory and restarting JBoss, the result is the same. The error happens when a stateful session bean attempts to initialize Hibernate (see stack trace below). I first thought it might be a class loader problem, but then putting the JAR into the server/default/lib directory and restarting JBoss should have solved the problem. We even put Hibernate and the problem class into a single JAR, that didn't help . The Hibernate version (2.1.2 or 2.1.4) doesn't have an impact either.

      java.lang.NoClassDefFoundError: org/jfree/chart/JFreeChart
       at java.lang.Class.getDeclaredMethods0(Native Method)
       at java.lang.Class.privateGetDeclaredMethods(Class.java:1647)
       at java.lang.Class.getMethod0(Class.java:1893)
       at java.lang.Class.getMethod(Class.java:976)
       at net.sf.hibernate.util.ReflectHelper.overridesEquals(ReflectHelper.java:57)
       at net.sf.hibernate.type.EntityType.<init>(EntityType.java:44)
       at net.sf.hibernate.type.ManyToOneType.<init>(ManyToOneType.java:43)
       at net.sf.hibernate.type.ManyToOneType.<init>(ManyToOneType.java:39)
       at net.sf.hibernate.Hibernate.entity(Hibernate.java:226)
       at net.sf.hibernate.cfg.Binder.bindOneToMany(Binder.java:703)
       at net.sf.hibernate.cfg.Binder.bindCollection(Binder.java:541)
       at net.sf.hibernate.cfg.Binder$2.create(Binder.java:1421)
       at net.sf.hibernate.cfg.Binder.propertiesFromXML(Binder.java:1017)
       at net.sf.hibernate.cfg.Binder.bindSubclass(Binder.java:172)
       at net.sf.hibernate.cfg.Binder.handleSubclass(Binder.java:1083)
       at net.sf.hibernate.cfg.Binder.propertiesFromXML(Binder.java:1044)
       at net.sf.hibernate.cfg.Binder.bindRootClass(Binder.java:361)
       at net.sf.hibernate.cfg.Binder.bindRoot(Binder.java:1243)
       at net.sf.hibernate.cfg.Configuration.add(Configuration.java:249)
       at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:285)
       at net.sf.hibernate.cfg.Configuration.addClass(Configuration.java:351)
       at com.ichg.capsela.framework.domain.PersistenceManager.hibernateConfiguration(PersistenceManager.java:270)
       at com.ichg.capsela.framework.domain.PersistenceManager.sessionFactory(PersistenceManager.java:294)
       at com.ichg.capsela.framework.domain.PersistenceSession.openHibernateSession(PersistenceSession.java:308)
       at com.ichg.capsela.framework.domain.PersistenceSession.resume(PersistenceSession.java:97)
       at com.ichg.capsela.framework.domain.PersistenceManager.resumeSession(PersistenceManager.java:234)
       at com.ichg.capsela.ejb.ClientSessionBean.queryPrincipals(ClientSessionBean.java:358)
       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.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(StatefulSessionContainer.java:949)
       at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:120)
       at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
       at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(StatefulSessionInstanceInterceptor.java:273)
       at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
       at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:315)
       at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148)
       at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
       at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
       at org.jboss.ejb.StatefulSessionContainer.internalInvoke(StatefulSessionContainer.java:416)
       at org.jboss.ejb.Container.invoke(Container.java:723)
       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.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
       at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:360)
       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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
       at sun.rmi.transport.Transport$1.run(Transport.java:148)
       at java.security.AccessController.doPrivileged(Native Method)
       at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
       at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
       at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
       at java.lang.Thread.run(Thread.java:534)