我现在正在某个安静的项目上工作,我现在使用tomcat和eclipse都可以正常工作。

我在2012年1月22日部署了 war (带有一些打印消息),该 war 正常进行,然后第二天我进行了一些更改,删除了一些消息并重新部署了文件...在我的webapps文件夹中,它显示了“上次更新”的最新时间修改了我的 war 文件..我做错了什么告诉我..

P.S反射(reflect)了对同一项目的JSP页面的任何更改,但servlet类未更改

这是日志文件显示的内容
_SEVERE:Web 应用程序似乎已通过 java.util.Timer API 启动了名为 [MySQL Statement Cancellation Timer] 的 TimerThread,但未能将其停止。为了防止内存泄漏,定时器(以及相关的线程)已被强制取消。 _

好吧,这是我的问题的摘要,我希望我现在可以向您解释问题
我再次执行以下步骤
1.从webapps中删除了我的webapp目录
2.试图访问servlet(显示'Resource not available')3.在print语句中进行一些更改以进行调试4.从eclipse重新部署了WAR 5.再次访问该servlet并不是最新版本,它显示的是相同的旧消息.现在告诉我是否有解决方案......
提前致谢

在尝试了很多事情之后,我在部署 WAR 文件时观察到非 JSP servlet 类文件没有包含在 WAR 中,当我在 WAR 中手动添加这些类文件时,所有更改都更新了..所以现在你能告诉我如何自动在 WAR 中部署这些……有什么问题吗?

最佳答案

JSP 文件不会更新,因为它们是预编译的,即使它们可能会从已更改的文件中提取信息,但每个可能受影响的 JSP 文件都需要对其进行微小的更改,例如添加一个空格然后删除一个空格,然后保存。

然后构建您的 WAR,然后应该会显示更新。今晚我遇到了同样的问题,其他答案都没有帮助。关键是,检查部署 WAR 的 Tomcat 目录中的文件日期。我注意到,即使我正在部署一个全新的清理过的 WAR,并删除所有文件夹,那里仍然存在较旧的缓存文件,可能是因为 Eclipse 保留它们以节省编译时间,认为它们没有任何更改。

希望这可以帮助

10-07 19:28
查看更多