我正在做我安静的项目,现在我正在使用 tomcat 和 eclipse,直到现在都可以正常工作。
我在 22-1-2012 部署了战争(带有一些打印消息)它工作正常然后第二天我做了一些更改删除了一些消息并重新部署了文件……在我的 webapps 文件夹中它显示了“最后一次”的最新时间修改了我的战争文件..我做错了什么告诉我..
PS 反映了对同一项目的 JSP 页面的任何更改,但 servlet 类未更改
这是日志文件显示的内容 _SEVERE:Web 应用程序似乎已通过 java.util.Timer API 启动了名为 [MySQL Statement Cancellation Timer] 的 TimerThread,但无法停止它。为了防止内存泄漏,计时器(以及关联的线程)已被强制取消。 _
好吧,这是我的问题的总结,我希望我现在可以向您解释我再次执行以下步骤的问题
- 从 webapps 中删除了我的 webapp 目录
- 试图访问 servlet(它显示“资源不可用”)
- 在打印语句中进行一些更改以进行调试
- 从 eclipse 重新部署 WAR
- 再次访问该 servlet 时,它不是最新版本,它显示相同的旧消息。
现在告诉我是否有解决方案….提前致谢
在尝试了很多事情之后,我在部署 WAR 文件时观察到非 JSP servlet 类文件未包含在 WAR 中,当我在 WAR 中手动添加这些类文件时,所有更改都已更新。所以现在你能告诉我如何自动在 WAR 中部署这些..有什么问题?
原文由 Dhiraj Valechha 发布,翻译遵循 CC BY-SA 4.0 许可协议
JSP 文件没有更新,因为它们是预编译的,即使它们可能从已更改的文件中提取信息,每个可能受影响的 JSP 文件都需要对其进行较小的更改,例如添加一个空格然后删除一个空格, 然后保存。
然后构建您的 WAR,然后应该会显示更新。今晚我遇到了同样的问题,其他答案都没有帮助。关键是,检查部署 WAR 的 Tomcat 目录中的文件日期。我注意到,即使我正在部署一个全新的清理过的 WAR,并删除所有文件夹,那里仍然有旧的缓存文件,可能是因为 Eclipse 保留它们以节省编译时间,认为它们没有任何变化。
希望这可以帮助