2012-08-02 48 views
0

我正在使用Google AppEngine和Spring MVC編寫Web應用程序。我通過以下步驟仔細升級到DataNucleus plugin的v2:http://code.google.com/p/datanucleus-appengine/wiki/UpgradingToVersionTwo(我使用Eclipse)。DataNucleus增強器不起作用

當我嘗試運行增強工具,我得到以下錯誤:

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." 

我格式化,這樣你可以看到微小的差別,一個罐子從「用戶」目錄加載的消息,另一種從「工具」目錄中。我不明白爲什麼。在項目構建路徑中,只有「user」和「DataNucleus」配置中的一個來自「tools」,就像上面的howto建議一樣。

在其他情況下,我已經看到這個消息主要是由datanucleus插件的衝突版本引起的,但它不適用於我。我想這在我的例子中只是一些愚蠢的事情......所以我做錯了什麼?

+0

如果您確信自己的構建路徑,您是否嘗試過清理項目並重新構建? – 2012-08-03 00:19:22

回答

0

因此,畢竟,我沒有按照我的想法仔細閱讀說明。問題在於罐子在那裏有兩次,一次在項目建造路徑中,一次在數據核心配置中。它不應該在項目構建路徑中(或者實際上,它不應該在其中一箇中,哪一個並不重要)。當我將libs複製到war目錄時,我自動添加它,並且我認爲它必須完成。但是說明明確指出只有jdo-api需要在項目構建路徑中。

但有一點我不明白。在指令的一個步驟中,我必須在DataNuclues配置中取消選中「在運行工具時使用項目類路徑」。那麼這個插件怎麼可能還在使用項目構建路徑中配置的庫呢?