我正在使用 Google AppEngine 和 Spring MVC 编写一个网络应用程序。我按照以下步骤小心地升级到 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."
我对消息进行了格式化,以便您可以看到微小的差异,一个 jar 是从“user”目录加载的,另一个是从“tools”目录加载的。我不明白为什么。在项目构建路径中,只有一个来自“用户”和 DataNucleus 配置,我从“工具”添加了一个,就像上面建议的方法一样。
在其他情况下,我看到这条消息主要是由 datanucleus 插件的版本冲突引起的,但它不适用于我。我想这对我来说只是一些愚蠢的事情......那我做错了什么?