4

我有一个问题,经过大量阅读和研究,似乎tomcat正在运行它自己的另一个实例,从而为我更新的应用程序的旧版本提供服务(或者以某种方式在某处缓存了我的webapp的旧版本只提供服务。)我在 Windows 机器上使用 Eclipse 中的应用程序并将其作为 ROOT 应用程序部署在 Linux 服务器上(将战争文件重命名为 ROOT.war)。我想知道的是,是否有一种方法可以通过让 tomcat 记录为旧版本的应用程序提供服务的 servlet 的上下文根的输出来定位 tomcat 服务的旧版本。就目前而言,由更新的应用程序创建的任何文件都在正确的目录中创建,但由于应用程序实例不同,因此在创建文件后不久就无法访问这些文件。欢迎任何帮助/提示

4

1 回答 1

4

要回答标题中的问题,让您的代码基本上执行以下操作:

System.out.println(getServletContext().getRealPath("/"));

要解决问题中描述的问题,请关闭Tomcat并删除其/work目录中的所有内容,删除扩展的WAR/webapps并删除目录的/Catalina子目录/conf(如果有),然后重新启动。

于 2011-02-24T12:52:41.997 回答