3

我正在使用相对较新的Google云端工具插件,用于Eclipse,取代了谷歌Eclipse插件。我已将我的App Engine项目转换为新插件的环境,但现在应用程序停止工作。DataNucleus JDO和Google Cloud Tools for Eclipse

javax.jdo.JDOUserException: Persistent class \"Class 
CLASSNAME does not seem to have been enhanced. You may want to rerun 
the enhancer and check for errors in the output.\" has no table in the 
database, but the operation requires it. Please check the specification 
of the MetaData for this class. 

的GPE(谷歌插件的Eclipse)有一些这方面的选择::https://developers.google.com/eclipse/docs/appengine_ormhttps://developers.google.com/eclipse/docs/appengine_datanucleus

我请求使用谷歌数据存储条目的Servlet时出现以下错误。

不幸的是,在新插件中没有这个设置。我试图添加DataNucleus Plugin for Eclipse,但是当我尝试增强类时,出现错误:Error: Could not find or load main class org.datanucleus.enhancer.DataNucleusEnhancer

我也试过这个:https://cloud.google.com/appengine/docs/standard/java/datastore/jdo/overview-dn2#Enhancing_Data_Classes,但我没有得到如何使用这个新的插件。

我使用所有最新版本的Google Cloud(App Engine SDK 1.9.50)。

任何帮助,非常感谢!

+1

FYI:我已经重写应用程序的整个JDO部分物化(其现在实际上由Google App Engine支持)。没有Datanucleus需要了! – bashoogzaad

+0

关于DataNucleus Plugin for Eclipse,在Window - > Preferences - > DataNucleus中,需要添加datanucleus-core库。但是,现在我正在为我现有的App Engine项目获取java.lang.IncompatibleClassChangeError。 –

+0

在这个问题上总共花费了16个小时后,我得出结论:DataNucleus是不可能的,必要的,但不再支持datanucleus-appengine库和Java8一起工作。看起来我必须重写我已经运行的应用程序才能使用Objectify。 –

回答

1

新的云工具Eclipse插件不支持DataNucleus将,推荐的方法是使用DataNucleus将Maven插件做增强:http://www.datanucleus.org/products/datanucleus/jdo/enhancer.html#maven

+1

感谢您的回答!我没有使用maven,没有它的方式吗? – bashoogzaad

+1

只需几行代码即可获得上述链接,还有其他选项,如: 1.使用Ant,2.在命令行手动调用,3.使用Eclipse DataNucleus插件 –