我有一个web应用程序项目,使用gwt和谷歌应用程序引擎来存储我的数据。当我运行我的项目时,我得到以下错误:
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");
而这就是错误发出的行。我不知道如何解决这个问题。如有任何提示,不胜感激。
您在GAE环境中使用了错误的DataNucleus
库,请检查此表并在项目中设置相应的库。
我不知道是如何或为什么,但对我有用的是,我打开了com.google.appengine.eclipse.core.prefs并更改了属性:
gaeDatanucleVersion=v2到gaeDatanucleusVersion=v1