我目前正在使用 Spring Web MVC 和 Spring Security 开发一个应用程序。
我可以在 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\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 使用。
我的问题是:有人有解决此问题的方法吗?
开发的时候真烦人...
最佳答案
为了纠正这个问题,我有一个更简单的解决方案:
假设您的 EAR 文件是正确的:
- 停止服务器
- 转到您的 EAR 目录:
C:\java_apps\glassfish3\glassfish\domains\domain1\applications\XXX_EAR
- 删除名为 .glassfishStaleFiles 的文件
- 重启服务器并重新部署 EAR 文件
它对我有用。
关于java - Spring/Glassfish 3.1.2 陈旧文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16479553/