【问题标题】:Is there a way to get the absolute path of the context root in tomcat?有没有办法在tomcat中获取上下文根的绝对路径?
【发布时间】:2011-02-24 03:55:13
【问题描述】:

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

【问题讨论】:

    标签: eclipse jsp tomcat5.5


    【解决方案1】:

    要回答标题中的问题,让你的代码基本上做到以下几点:

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

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

    【讨论】:

    • 谢谢.. 会回复你结果
    • 这个问题再次出现,这次这个解决方案不起作用
    • 当容器未配置为在磁盘上展开 WAR 而是在内存中时,getRealPath() 将返回 null。那么就没有磁盘路径了。
    • 谢谢。从上次到今天我都没碰过TC。
    猜你喜欢
    • 2020-08-03
    • 2020-11-14
    • 2012-07-30
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 2016-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多