我尝试在我的 Eclipse 中启动一个 Google appengine 应用程序。
我有 Google 插件,并为我的应用程序设置了 sdk。
但是,当我启动这个时,我收到以下错误:
java.lang.ClassNotFoundException: org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider
但是,这个类存在于我的类路径中的 sdk 中。
为什么 Appengine 找不到这个类?
谢谢。
我尝试在我的 Eclipse 中启动一个 Google appengine 应用程序。
我有 Google 插件,并为我的应用程序设置了 sdk。
但是,当我启动这个时,我收到以下错误:
java.lang.ClassNotFoundException: org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider
但是,这个类存在于我的类路径中的 sdk 中。
为什么 Appengine 找不到这个类?
谢谢。
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/ 目录下的所有 jars。
我遇到了同样的问题并按照该网页上的步骤进行操作。现在我的代码运行良好。
我相信问题的发生是因为我们现在使用的是 JPA 2.0 而不是 JPA 1.0。
另外,请确保您使用 org.datanucleus.api.jpa.PersistenceProviderImpl 作为提供程序,而不是 org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider。至少我使用了新的提供程序,因为我正在使用最新的 GAE 插件开发 GAE 项目
祝你好运。