持久性管理器无法实例化

时间:2013-02-24 06:17:20

标签: google-app-engine gwt web-applications datanucleus persistence-manager

我有一个使用gwt的web应用程序项目,并使用谷歌应用程序引擎来存储我的数据。当我运行我的项目时,我收到以下错误:

 WARNING: Error for /proj/saat
 java.lang.NoSuchFieldError: NUCLEUS_CONTEXT_LOADER
     at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.<clinit>(JDOPersistenceManagerFactory.java:101)

saat是我试图在我的谷歌应用引擎上存储的类。 proj是我的项目的名称。我尝试在服务器包中的saatServiceImpl中实例化我的persistenceManager,如下所示:

    private static final PersistenceManagerFactory pmf = JDOHelper
        .getPersistenceManagerFactory("transactions-optional");

这就是发出错误的行。我不知道如何解决这个问题。任何提示都表示赞赏。

2 个答案:

答案 0 :(得分:2)

您在GAE环境中使用了错误的DataNucleus库,请检查this table并在项目中设置合适的库。

答案 1 :(得分:1)

我不知道如何或为什么但是对我有用的东西是我打开com.google.appengine.eclipse.core.prefs并更改了属性:

gaeDatanucleusVersion = V2 至 gaeDatanucleusVersion = V1