2013-10-30 91 views
7

我添加了一些庫到我的JavaEE項目,然後部署應用程序的作品。我修改了一些東西,並在Eclipse中得到了這個錯誤消息:Glassfish 4部署錯誤

Cannot Deploy ProjectName 
deploy is failing=Error occurred during deployment: Keys cannot be duplicate. 
Old value of     this key property, nullwill be retained. 
Please see server.log for more details. 
java.lang.LinkageError: loader (instance of 
org/glassfish/web/loader/WebappClassLoader): 
attempted duplicate class definition for name: 
"org/glassfish/web/loader/JdbcLeakPrevention" 
loader (instance of org/glassfish/web/loader/WebappClassLoader): attempted duplicate 
class definition for name: "org/glassfish/web/loader/JdbcLeakPrevention" 

我做了一些研究,發現它不是Eclipse的bug。我正在與開普勒合作,但我也曾與朱諾進行過測試。得到了同樣的錯誤信息。 我下載了Glassfish 3.1.2.2,消息消失了。

爲什麼我會收到此消息?

+0

您最近是否從JDK7切換到JDK8。這個錯誤似乎可以在這種情況下看到,如:https://groups.google.com/forum/#!msg/adopt-openjdk/DzRXD2fx1d0/Lt0aEVaUteQJ – VonC

+0

@VonC不,我正在使用JDK 7 Update 13 – galovics

+0

任何機會,你可以升級到最新的JDK7(u45),看看問題是否依然存在? – VonC

回答

0

嘗試清理autodeploy目錄,重新啓動服務器。 也清理項目部署目錄。

+0

已完成。沒有什麼變化。 – galovics

3

我也有這個問題,我也在使用SVNKit庫加上它的依賴關係,所以看起來好像存在某種衝突。我可以通過清理osgi-cache文件夾&重新啓動glassfish來解決這個問題,但每次我想部署時都必須這樣做,所以不是一個好的解決方案。

+1

https://agritsik.wordpress。com/2015/08/26/how-to-clear-glassfish-cache-helps-to-resolve-deployment-exception-inconsistent-module-state/ – shareef

+0

鏈接文章爲空(請參閱文章下的評論)。新解決方案讚賞。 – DaRich

4

我有同樣的錯誤。我停下了GLassfish服務器,然後清理了項目(Project - > Clean ...)。啓動服務器並開始工作

0

與單個@Singleton bean有某種關係。轉換爲@Stateless,一切正常。不太清楚爲什麼會這樣......

0

在我Glassfish的日誌文件它說:

與名WS

應用程序已被註冊。要麼指定必須強制重新部署,要麼重新部署應用程序。或者,如果這是一個新的部署,選擇一個不同的名稱

按照我的日誌說明我在部署應用程式與--force選項:

asadmin deploy --force=true ws.war 

和它的工作。有關deploy --force=true的更多信息

1

嘗試刪除osgi-cache和生成目錄下的所有文件。它爲我工作。

0

以下步驟爲我工作。

  1. 停止GlassFish服務器(如果正在運行)
  2. 殺死所有的java程序(使用終端或活動監視器)
  3. 現在嘗試重新部署。