一尘不染

最新更改未反映在servlet(tomcat)中

tomcat

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

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

PS反映了对同一项目的JSP页面的任何更改,但servlet类未更改

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

好吧,这是我的问题的摘要,我希望我现在可以向您解释这个问题,我再次执行以下步骤
1.从webapps中
删除了我的webapp目录2.试图访问servlet(显示“资源不可用”)
3.进行一些操作更改打印语句以进行调试
。4.从eclipse中
重新部署了WAR。5。再次访问该servlet时,它不是最新版本,而是显示相同的旧消息。

现在告诉我是否有解决方案…。


在尝试了很多事情之后,我刚刚观察到部署WAR文件时,当我在WAR中手动添加这些类文件时,非JSP
servlet类文件未包含在WAR中,所有更改均已更新。。现在您可以告诉我如何自动将它们部署在WAR中。什么问题?


阅读 238

收藏
2020-06-16

共1个答案

一尘不染

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

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

希望这可以帮助

2020-06-16