上传一个新的.war文件,但tomcat仍以某种方式提供旧代码?

时间:2011-10-29 15:45:46

标签: java tomcat servlets

我部署了一个简单的hello world java应用程序,并且在新代码中我更改了servlet的输出以在循环中打印一些语句。

它在本地工作正常。

我上传了新的.war文件,停止了tomcat,删除了/webapps中的旧.war文件和爆炸文件夹。

然后我复制了新的.war文件,然后重新启动了tomcat。

它爆炸了文件夹,但不知何故代码已经过时了。

它可能以某种方式缓存.war文件吗?

我确实更改了server.xml并设置了autodeploy = false,但不确定它是否相关?

2 个答案:

答案 0 :(得分:4)

删除工作目录并重启tomcat。

有点太简洁了。 Tomcat会在编译之前将jsp转换为servlet源,一些缓存发生在工作目录中,这可能是导致它发生的原因。

自从我使用Tomcat以来已经有一段时间了,但我相当确定结构类似于 work / host / engine / context ,所以你可能会在 work / localhost下找到你的东西/ Catalina / - 网络背景 -

答案 1 :(得分:1)

  

我确实更改了server.xml并设置了autodeploy = false,但不确定是否   是相关的?

OO。

来自文档

  

此标志值指示新的Web应用程序是否已放入   Tomcat运行时的appBase目录应该是自动的   部署。标志的值默认为true。请参阅自动应用   部署以获取更多信息。

我会从那里开始。