如何将Datanucleus与多个Eclipse项目一起使用?

时间:2013-11-28 04:32:30

标签: java eclipse google-app-engine classpath datanucleus

我需要一位Eclipse专家。我有一个项目在类路径中引用另一个项目来使用所有类和数据对象。第一个应用程序是AppEngine项目。第二个应用程序只是一个要导入的普通旧Java命令行应用程序。我在代码中执行此行时遇到此错误。第二个项目设置为导入第一个项目。我试图从一个项目的构建路径中排除3个Datanucleus JAR,但后来它抱怨这些类没有增强。我还尝试添加AppEngine并将AppEngine删除到第二个'import'项目。

错误

  

引起:org.datanucleus.exceptions.NucleusException:插件(Bundle)“org.datanucleus”已经注册。确保类路径中没有相同插件的多个JAR版本。 URL“file:/ C:/Users/Chloe/Documents/Onix/mwv-pic/war/WEB-INF/lib/datanucleus-core-3.1.3.jar”已经注册,您正在尝试注册相同的插件位于URL“file:/ C:/Users/Chloe/.eclipse/org.eclipse.platform_4.3.0_587203511_win32_win32_x86_64/plugins/com.google.appengine.eclipse.sdkbundle_1.8.6/appengine-java-sdk-1.8。 6 / LIB /选择/用户/ DataNucleus将/ V2 / DataNucleus将核 - 3.1.3.jar“。

代码

instance = Persistence.createEntityManagerFactory("transactions-optional");

项目属性

Imgur

版本

DataNucleus将核 - 3.1.3.jar

1 个答案:

答案 0 :(得分:1)

我能够进入第一个项目,查看项目属性>构建路径>图书馆>删除datanucleus-core.jar,datanucleus-api-jdo.jar,datanucleus-api-jpa.jar。这三个已经在AppEngine库中。如果您向下滚动并展开“AppEngine SDK”组,您将看到它们也在那里列出。所以他们不必两次上市。我不知道为什么第一个应用程序没有任何问题但是如果你将项目导入另一个项目(将它放在类路径上)它就无法工作。