2013-05-10 85 views
4

我目前正在使用Spring Web MVC開發一個應用程序& Spring Security。Spring/Glassfish 3.1.2陳舊的文件

我可以在Glassfish 3.1.2部署它,但是當我需要一些bug修復後重新部署,我得到這個錯誤:

WARNING: Exception while locating sub archive: XXX.war 
WARNING: DPL8031: Ignoring XXX_war/ because the containing archive C:\dev\apps\glassfish3\glassfish\domains\domain1\applications\XXX recorded it as a pre-existing stale file 

.glassfishStaleFiles包含:

XXX_war/ 
XXX_war/WEB-INF/ 
XXX_war/WEB-INF/lib/ 
XXX_war/WEB-INF/lib/spring-web-3.2.2.RELEASE.jar 

事實上, spring-web-3.2.2.RELEASE.jar仍然存在,當我嘗試刪除它時,我收到一條消息,說它仍然被JVM使用。

我發現這個鏈接: https://www.java.net//forum/topic/glassfish/glassfish/stale-files-when-undeploying-web-app-glassfish-3

我的問題是:是否有人有針對此問題的解決方法嗎?

這同時深化發展真的很煩......

回答

4

好吧,以後的研究些日子......

我終於找到了如何繞過。

我的項目層次是:

XXX.ear 
--- lib/ 
------ XXX_Entities.jar 
--- XXX_Ejb.jar 
--- XXX_EjbClient.jar 
--- XXX_Web.war 
------ WEB-INF/lib/ 
--------- *libraries* 

現在:

XXX.ear 
--- lib/ 
------ XXX_Entities.jar 
------ *libraries* 
--- XXX_Ejb.jar 
--- XXX_EjbClient.jar 
--- XXX_Web.war 

然後加入lib文件夾耳展開組件,它工作。 Glassfish在卸載時會正確卸載。

7

要解決此問題,我有一個簡單的解決方案:
假設你的EAR文件是正確的:

  1. 停止服務器
  2. 轉到您的EAR目錄: C:\ java_apps \ glassfish3 \ GlassFish的\域\ DOMAIN1 \應用程序\ XXX_EAR
  3. 刪除名爲.glassfishStaleFiles
  4. 重啓服務器並重新文件-deploy EAR文件

它爲我做了詭計。

+0

實際上,有時候只有這個文件是'.glassfishStaleFiles',但有時在子文件夾中的一個lib仍然被認爲是已加載的,無法刪除。事實上,停止/刪除/重新啓動工作,但它比我的解決方案需要更多的時間。 – 2014-03-03 08:11:55

+1

這幫了我很多。 – 2017-03-04 09:20:34

+0

這爲我工作 – dom 2017-04-30 12:23:30