ClassNotFoundException:org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider

时间:2012-08-06 21:38:07

标签: eclipse google-app-engine google-cloud-datastore

我尝试在日食中启动Google appengine应用程序。

我有谷歌插件,我为我的应用程序设置了sdk。

但是,当我开始这个时,我收到以下错误:

java.lang.ClassNotFoundException: org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider

但是,此类存在于我的类路径中的sdk中。

为什么Appengine找不到这个课程?

感谢。

1 个答案:

答案 0 :(得分:3)

https://developers.google.com/appengine/docs/java/datastore/jpa/overview-dn2

请尝试按照步骤在应用程序的war / WEB-INF / lib /目录中添加JPA和数据存储区JAR。

appengine-java-sdk / lib / opt / user / datanucleus / v2 /目录中的所有jar。

我遇到了同样的问题,并按照该网页上的步骤操作。现在我的代码运行良好。

我认为问题的发生是因为我们现在使用的是JPA 2.0而不是JPA 1.0。

另外,请确保使用org.datanucleus.api.jpa.PersistenceProviderImpl作为提供程序而不是org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider。至少我使用了新的提供商,因为我正在使用最新的GAE插件开发GAE项目

祝你好运。