2012-04-04 9 views
1

私はsdk orm jarをv2(デフォルトでsdkを含む)に変更しましたが、いくつかの例外情報があります。これはdatanucleus-core-3.0.6.jarについての情報ですbla bla .... 検索の結果、3.0.6のバグだと分かっていました。だから、私はdatanucleus-core-3.0.10.jarでそれを解放します。これは私がすべての日のために\ libに\ユーザー\のORMGAE、datanucleus jarパッケージのアップグレード後の例外

asm-3.3.1.jar 
datanucleus-api-jdo-3.0.5.jar 
datanucleus-api-jpa-3.0.6.jar 
datanucleus-appengine-2.0.0-final.jar 
datanucleus-core-3.0.10.jar 
geronimo-jpa_2.0_spec-1.0.jar 
jdo-api-3.0.jar 
transaction-api-1.1.jar 

の私のjarファイルを見てきたされたPOJOエンハンサー

java.lang.RuntimeException: Unexpected exception 
    at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:76) 
    at com.google.appengine.tools.enhancer.Enhance.<init>(Enhance.java:71) 
    at com.google.appengine.tools.enhancer.Enhance.main(Enhance.java:51) 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:74) 
    ... 2 more 
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.enhancer.DataNucleusEnhancer.<init>(DataNucleusEnhancer.java:172) 
    at org.datanucleus.enhancer.DataNucleusEnhancer.<init>(DataNucleusEnhancer.java:150) 
    at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1157) 
    ... 7 more 

をコンパイル しかし、それはありません成功。何が問題なのか知っていますか?

答えて

0

あなたはどこかのCLASSPATHにデータ核核とデータ核エンハンサーの古いバージョンを持っています。そのスタックトレースからの「OMFContext」は、DataNucleusに非常に長い間存在していませんでした。

0

私は、なぜそれが新しいdatanucleusでappengineをアップグレードするために動作しないと思うと思います。クラスパスのエントリではありません!私は、強化ステップをトリガーするant-macro.xmlに、appengine-tools-api.jarへのリンクがあり、クラスEnhancerTaskがあることを発見しました。新しいdatanucleus-enhancer-3.0.1.jarにはそれ自身のEnhancerTaskクラスがあるので、これはおそらく古いバージョンへのリンクです。だから、新しいバージョンのデータ核を古いappengine SDK(http://code.google.com/p/datanucleus-appengine/wiki/HowToUpdateTheSDKWithANewPluginVersionとは反対に)で使用する唯一の方法は、強化ステップをant(https://developers.google.com/web-toolkit/doc/1.6)で行うことです。/tutorial/appengine)またはおそらくeclipse-datanucleus-pluginです。残念ながら、私のEclipseではこのプラグインが正しく動作しません。プラグインをインストール/設定した後、まだプロジェクトコンテキストメニュー "datanucleus"はありません。ここで私はサポートを追加する予定です。そこで、私はantバージョンを試してみましょう。

関連する問題