Google AppEngine と Spring MVC を使用して Web アプリを作成しています。次の手順に従って、DataNucleus プラグインの v2 に慎重にアップグレードしました: http://code.google.com/p/datanucleus-appengine/wiki/UpgradingToVersionTwo (私は Eclipse を使用しています)。
Enhancer Tool を実行しようとすると、次のエラーが表示されます。
Exception in thread "main" Plugin (Bundle) "org.datanucleus" is already registered. Ensure you dont have multiple JAR versions of the same plugin in the classpath. The URL
"file:/.../eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.6.4.v201203300216r37/appengine-java-sdk-1.6.4/lib/opt/user/datanucleus/v2/datanucleus-core-3.0.6.jar" is already registered, and you are trying to register an identical plugin located at URL
"file:/.../eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.6.4.v201203300216r37/appengine-java-sdk-1.6.4/lib/opt/tools/datanucleus/v2/datanucleus-core-3.0.6.jar."
小さな違いがわかるようにメッセージをフォーマットしました。1 つの jar は「user」ディレクトリからロードされ、もう 1 つは「tools」ディレクトリからロードされます。理由がわかりません。プロジェクトのビルド パスには、「ユーザー」からのものだけがあり、DataNucleus 構成には、上記のハウツーのように「ツール」からのものを追加しました。
私が見た他のケースでは、このメッセージは主に datanucleus プラグインの競合するバージョンが原因でしたが、私には当てはまりません。私の場合はちょっとばかげていると思います...だから、何が間違っているのですか?