1

をトリガーするDatanucleus enhancerには、Persistableクラス/エンティティをダミーで変更してから再度保存する必要がありました。ただし、トリガーされると、次のエラーがスロー/ログに記録されます。

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:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    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

datanucleus-enhancer-3.0.1はMavenクラスパスにあり、WEB-INF/フォルダーにもあります。

ライブラリが欠落していない場合、このエラーの原因は何ですか?

4

1 に答える 1

2

あなたはあなたがインターネットで読んだすべてを信じますか?jasper-compilerはDataNucleusの機能強化と何の関係がありますか?回答:何もありません。その投稿は、いくつかのJasperクラスから欠落しているメソッドに関するものでした...あなたは持っていません。

一貫性のないバージョンの「datanucleus-enhancer」と「datanucleus-core」を使用しているだけです。Mavenを使用している場合は問題は発生しませんが、ここでは問題がないため、 datanucleus-enhancer 3.0.1を使用している場合は、datanucleus-core3.0.xも必要であることが簡単にわかります。結局のところ、それはNoSuchMethodErrorが意味することでもあります...何かがCLASSPATHに存在しません。パッケージ化されたDataNucleuszipディストリビューションは、常にすべての一貫性のあるファイルを提供するため、これらのいずれかを使用したことはありません。

于 2012-06-19T17:55:01.880 に答える