1

私は Google アプリ エンジンとデータ核の初心者です。次のエラーは jar の問題のように見えますが、Data nucleus のどの jar を war/web-inf/classes フォルダーに配置し、どの jar を app engine SDK フォルダーに配置する必要があるかわかりません。App Engine SDK 1.7.0 を使用しています。データ核の拡張には問題ありません。

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 に更新した後、appengine-java-sdk-1.7.3\lib\user\orm フォルダに次の JARS があることに気付きました。これらはそこに存在する datanucleus jar です。

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

私の war/web-inf/lib には、上記のすべての jar と次の jar も含まれています。

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
4

1 に答える 1

1

Appengine JDO/JPA プラグイン Wikiは、プラグインの各バージョンで必要な DataNucleus jar を十分に定義しています。

于 2012-12-11T11:55:30.133 に答える