title: Eclipse Error: java.lang.NoClassDefFoundError
body: <p>Hi I am using eclipse kepler to update an old project.  The original programmer has the following ejb unrelated to a table.</p>
  
  <p>ChangeNotification.java</p>
  
  <pre><code>import java.io.Serializable;
  import java.util.Date;
  public interface ChangeNotification extends Serializable{
      public String getId();
      public void setId(String id);
      public void setProduct(String product);
      public void setChangeType(String changeType);
  }
  </code></pre>
  
  <p>This compiles and I see the .class in the ejb jar under the deployments directory.</p>
  
  <p>But when I try to compile the project I get the following error.  I will include all of it in-case there is a hint further down:</p>
  
  <pre><code>21:01:28,478 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 18) MSC000001: Failed to start service jboss.persistenceunit."ADTF_EAR.ear#Grid-Persistence": org.jboss.msc.service.StartException in service jboss.persistenceunit."ADTF_EAR.ear#Grid-Persistence": java.lang.NoClassDefFoundError: ChangeNotification
      at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:172) [wildfly-jpa-8.1.0.Final.jar:8.1.0.Final]
      at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:117) [wildfly-jpa-8.1.0.Final.jar:8.1.0.Final]
      at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_71]
      at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:474)
      at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:182) [wildfly-jpa-8.1.0.Final.jar:8.1.0.Final]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_71]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_71]
      at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_71]
      at org.jboss.threads.JBossThread.run(JBossThread.java:122)
  Caused by: java.lang.NoClassDefFoundError: ChangeNotification
      at java.lang.Class.getDeclaredMethods0(Native Method) [rt.jar:1.7.0_71]
      at java.lang.Class.privateGetDeclaredMethods(Unknown Source) [rt.jar:1.7.0_71]
      at java.lang.Class.getDeclaredMethods(Unknown Source) [rt.jar:1.7.0_71]
      at org.hibernate.annotations.common.reflection.java.JavaXClass.getDeclaredMethodProperties(JavaXClass.java:112)
      at org.hibernate.annotations.common.reflection.java.JavaXClass.getDeclaredProperties(JavaXClass.java:129)
      at org.hibernate.annotations.common.reflection.java.JavaXClass.getDeclaredProperties(JavaXClass.java:121)
      at org.hibernate.cfg.InheritanceState.determineDefaultAccessType(InheritanceState.java:263) [hibernate-core-4.3.5.Final.jar:4.3.5.Final]
      at org.hibernate.cfg.InheritanceState.getElementsToProcess(InheritanceState.java:224) [hibernate-core-4.3.5.Final.jar:4.3.5.Final]
      at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:775) [hibernate-core-4.3.5.Final.jar:4.3.5.Final]
      at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3788) [hibernate-core-4.3.5.Final.jar:4.3.5.Final]
      at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3742) [hibernate-core-4.3.5.Final.jar:4.3.5.Final]
      at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1410) [hibernate-core-4.3.5.Final.jar:4.3.5.Final]
      at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844) [hibernate-core-4.3.5.Final.jar:4.3.5.Final]
      at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) [hibernate-entitymanager-4.3.5.Final.jar:4.3.5.Final]
      at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:843) [hibernate-entitymanager-4.3.5.Final.jar:4.3.5.Final]
      at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:397) [hibernate-core-4.3.5.Final.jar:4.3.5.Final]
      at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842) [hibernate-entitymanager-4.3.5.Final.jar:4.3.5.Final]
      at org.jboss.as.jpa.hibernate4.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44) [jipijapa-hibernate4-3-1.0.1.Final.jar:]
      at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:154) [wildfly-jpa-8.1.0.Final.jar:8.1.0.Final]
      ... 8 more
  Caused by: java.lang.ClassNotFoundException: ChangeNotification from [Module "deployment.ADTF_EAR.ear:main" from Service Module Loader]
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) [jboss-modules.jar:1.3.3.Final]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.3.Final]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.3.Final]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.3.Final]
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.3.Final]
      ... 27 more
  </code></pre>
  
  <p>I am just not sure what is wrong.  The class is there and I stop Eclipse -clean and Wildfly refreshed and re-deployed but got the same error.  Thanks for any help!</p>