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插件 –