NoClassDefFoundError无法初始化类EMFService

时间:2011-07-16 15:45:58

标签: google-app-engine entitymanager

我已经在我的eclipse中导入了一个app引擎项目。它在我以前的笔记本电脑上运行正常,这里我已经从我的旧机器复制了eclipse目录并将项目导入其中。现在我看到一个错误“java.lang.NoClassDefFoundError:无法初始化类sharepro.java.dao.EMFService”。该错误符合“EntityManager em = EMFService.get()。createEntityManager();”。我添加了所有的罐子。任何关于whcih jar的指针我正在喋喋不休或任何混乱问题?

谢谢和问候 Sundi

3 个答案:

答案 0 :(得分:3)

我意识到这是一个老帖子,但我只是遇到了这个问题,今天(2013年6月)花了我几个小时来解决这个问题。我仍然不确定为什么我的解决方案成功(或者更确切地说,为什么我的情况导致了错误),但这是我做的修复它:

我的项目结构中有一个源文件夹,其中包含 / test 文件夹,其中有一些JUnit文件。我删除了该文件夹,现在一切正常。怪异。

我看到人们为此问题提出的其他建议包括以下内容:

  1. 确保已将相应的.jar文件复制到 / war / WEB-INF / lib 文件夹中
  2. 确保您没有从客户端代码调用EMF单例(如果您正在使用GWT)
  3. 确保您已为项目启用了数据存储选项(项目属性> Google> App Engine>数据存储>使用Datanucleus JDO / JPA访问数据存储

答案 1 :(得分:0)

(我知道这是一个老帖子,但万一其他人需要帮助)

您的错误很可能出现在您的JDO中,我只是遇到了这个问题,我没有正确地注释JDO并且我得到了与您相同的错误

答案 2 :(得分:-2)

这是因为增强器无法正确增强您的实体。你应该增强实体。