2012-12-11 50 views
1

我是Google app引擎和Data核的新手。下面的錯誤看起來像一些jar問題,但我不確定哪些數據核應該在我的war/web-inf/classes文件夾中,哪些jar應該在app engine SDK文件夾中。我正在使用App引擎SDK 1.7.0。我在數據核增強方面沒有問題。運行時異常 - Datanucleus和GAE

Caused by: java.lang.NoSuchMethodError: org.datanucleus.plugin.PluginManager.<init>(Lorg/datanucleus/PersistenceConfiguration;Lorg/datanucleus/ClassLoaderResolver;)V 
    at org.datanucleus.OMFContext.<init>(OMFContext.java:159) 
    at org.datanucleus.OMFContext.<init>(OMFContext.java:141) 
    at org.datanucleus.ObjectManagerFactoryImpl.initialiseOMFContext(ObjectManagerFactoryImpl.java:144) 
    at org.datanucleus.jdo.JDOPersistenceManagerFactory.initialiseProperties(JDOPersistenceManagerFactory.java:316) 
    at org.datanucleus.jdo.JDOPersistenceManagerFactory.<init>(JDOPersistenceManagerFactory.java:260) 
    at org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory.<init>(DatastoreJDOPersistenceManagerFactory.java:71) 
<continued in next message> 

在應用程序引擎SDK文件夾中有各種其他文件夾,它們包含不同版本的相同數據核心文件。

* 編輯:* 後更新SDK 1.7.3來,我注意到在以下JARS AppEngine上的Java-SDK-1.7.3 \ LIB \用戶\文件夾中的ORM,這些都是DataNucleus將罐子presennt那裏。

datanucleus-core-1.1.5 
datanucleus-jpa-1.1.5 
datanucleus-appengine-1.0.10.final 
jdo2-api-2.3-eb 

我的戰爭/ WEB-INF/lib目錄中包含以上所有的罐子和下面的罐子太:

appengine-api-1.0-sdk-1.7.3.jar 

我的異常改變,現在它是:

2012-12-12 12:49:17.397 
org.datanucleus.plugin.NonManagedPluginRegistry resolveConstraints: Bundle "org.datanucleus.api.jdo" requires "org.datanucleus" version "3.1.1" but the resolved bundle has version "3.1.1" which is outside the expected range. 
E 2012-12-12 12:49:17.534 
org.datanucleus.api.ApiAdapterFactory getApiAdapter: Error : An error occurred trying to instantiate an instance of the adapter "org.datanucleus.api.jdo.JDOAdapter" : NUCLEUS_CONTEXT_LOADER 
W 2012-12-12 12:49:18.182 
org.datanucleus.OMFContext setApi: There is no available API adapter "JDO". Using existing adapter. 
E 2012-12-12 12:49:18.182 
org.datanucleus.api.ApiAdapterFactory getApiAdapter: Error : An error occurred trying to instantiate an instance of the adapter "org.datanucleus.api.jdo.JDOAdapter" : Could not initialize class org.datanucleus.api.jdo.JDOAdapter 

回答

1

的AppEngine JDO/JPA插件Wiki defines well enough每個版本的插件需要多少個DataNucleus Jar

+0

我還沒有安裝Data nucleus plug在,只有谷歌插件的應用程序引擎在那裏。現在我已經安裝了Data核插件2.0.4。兼容性頁面聲明版本2需要DataNucleus 3.0+(核心,api-jdo,api-jpa,增強器)。我現在有兩個問題: 1-我的谷歌應用程序引擎(1.7.0)SDK還包含用戶/ orm文件夾內的數據核Jar文件。我是否需要升級這些罐子? 2-在eclipse中安裝數據核插件後該怎麼做? –

+0

沒有GAE JDO/JPA插件v2.0.4這樣的東西。 http://repo1.maven.org/maven2/com/google/appengine/orm/datanucleus-appengine/ – DataNucleus

+0

更簡單的方法就是將AppEngine SDK升級到最新版本(1.7.3?),並獲得您需要安裝的所有內容那。爲什麼你要安裝一些無關Eclipse插件的路線我不知道 – DataNucleus