0

appengine 1.7.4にアップグレードしましたが、何かが壊れています。

ローカル開発者にデプロイすると、次のようなappengineエラーが発生します。

Class "com.google.appengine.datanucleus.DatastoreManager" was not found in the C
LASSPATH. Please check your specification and your CLASSPATH.
org.datanucleus.exceptions.ClassNotResolvedException: Class "com.google.appengin
e.datanucleus.DatastoreManager" was not found in the CLASSPATH. Please check you
r specification and your CLASSPATH.

これはjava.lang.ClassNotFoundExceptionではなく、org.datanucleus.exceptions.ClassNotResolvedExceptionです。

私のライブラリは

appengine-api-1.0-sdk-1.7.4  
appengine-api-labs-1.7.4  
datanucleus-api-jdo-3.2.0-m3  
datanucleus-api-jpa-3.2.0-m3  
datanucleus-appengine-2.1.1  
datanucleus-core-3.2.0-m3  
datanucleus-enhancer-3.1.1  

Mavenを使用してビルドされます。

DataNucleusAppEngineプラグインの互換性 http://code.google.com/p/datanucleus-appengine/wiki/Compatibility の状態

3.0:
Requires DataNucleus 3.2+ (core, api-jdo, api-jpa).
Requires SDK 1.7.0+

datanucleus-appengine-2.1.1pomには次の依存関係があります

org.datanucleus datanucleus-api-jdo [3.1.1, 3.2)  
org.datanucleus datanucleus-api-jpa [3.1.1, 3.2)  
org.datanucleus datanucleus-core    [3.1.1, 3.2)  
org.datanucleus datanucleus-enhancer    [3.1.0-release, )  

ライブラリのバージョンに問題がありますが、判断できません。
DNプラグインとSDK1.7.4の正しい依存関係は何ですか?

-lp

4

2 に答える 2

3

CLASSPATH に「datanucleus-api-jdo」と「datanucleus-api-jpa」があるのはなぜですか? 使用している API を決定し、その API を使用します。他の依存関係はどこにありますか? jdo-api.jar の persistence-api.jar ?

http://code.google.com/p/datanucleus-appengine/wiki/Compatibilityで明確に示されているように、datanucleus-appengine プラグインの SVN トランクを使用していない限り、DataNUcleus 3.2 を使用することはできません。

于 2013-02-08T06:39:49.467 に答える
0

問題は、プラグイン2.1.1がDN3.2xに依存していることです。@datanucleusがこれは正しくないと述べているので、DN3.1.1に限定する必要があります。

プラグインの依存関係をDN3.1.1に手動で設定する。すべてが機能するようになりました。

ありがとう@Datanucleus

于 2013-02-11T04:13:57.140 に答える