Java Spring/Glassfish 3.1.2陈旧文件
我目前正在使用SpringWebMVC和SpringSecurity开发一个应用程序 我可以在Glassfish 3.1.2上部署它,但当我想在修复一些错误后重新部署时,我会遇到以下错误:Java Spring/Glassfish 3.1.2陈旧文件,java,spring,jakarta-ee,glassfish,Java,Spring,Jakarta Ee,Glassfish,我目前正在使用SpringWebMVC和SpringSecurity开发一个应用程序 我可以在Glassfish 3.1.2上部署它,但当我想在修复一些错误后重新部署时,我会遇到以下错误: WARNING: Exception while locating sub archive: XXX.war WARNING: DPL8031: Ignoring XXX_war/ because the containing archive C:\dev\apps\glassfish3\glassfish\
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
.GlassFishStage文件包含:
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仍然在使用它
我找到了这个链接:
我的问题是:有人有解决这个问题的方法吗
开发时真的很烦人…好吧,经过几天的研究 我终于找到了四处走动的方法 我的项目层次结构是:
XXX.ear
--- lib/
------ XXX_Entities.jar
--- XXX_Ejb.jar
--- XXX_EjbClient.jar
--- XXX_Web.war
------ WEB-INF/lib/
--------- *libraries*
现在:
然后将lib文件夹添加到EAR部署程序集,它将工作。取消部署时Glassfish将正确卸载。要更正此问题,我有一个更简单的解决方案:
假设您的EAR文件是正确的:
事实上,有时候只有这个文件
。glassfishStaleFiles
,但有时候子文件夹中的库仍然被认为已加载,无法删除。确实,停止/删除/重新启动可以工作,但它比我的解决方案需要更多的时间。这对我有很大帮助。
XXX.ear
--- lib/
------ XXX_Entities.jar
------ *libraries*
--- XXX_Ejb.jar
--- XXX_EjbClient.jar
--- XXX_Web.war