有没有办法在tomcat中获取上下文根的绝对路径?

时间:2011-02-24 03:55:14

标签: eclipse jsp tomcat5.5

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

1 个答案:

答案 0 :(得分:4)

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

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

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