【问题标题】:tomcat server application path problemtomcat服务器应用路径问题
【发布时间】:2011-07-14 00:52:45
【问题描述】:

我使用 tomcat 6 进行生产。我在此服务器上部署了一个名为:app.war 的 Web 应用程序 它有一个网址:test.org。

每次我取消部署 app.war 并重新部署它时,这条路径将不再有效 http://test.org/home

但此网址始终有效:http://test.org/app/home

要使第一个 url 工作,我需要重新启动 tomcat 服务器。

我想知道为什么当我重新部署 app.war 时,url http://test.org/home 不起作用。

是否有办法让它在不重新启动服务器的情况下始终工作? 我不希望应用程序名称包含在 url 中

谢谢

【问题讨论】:

  • 您是否修改了 ROOT.xml 以使 app.war WAR 文件成为 ROOT 上下文?听起来绑定在您取消部署时被删除,但在您重新部署时没有重新创建。
  • 什么是 root.xml。 root.xml 在哪里?
  • 通常在配置文件夹中:查看您的conf/Catalina/localhost/ 文件夹。
  • 我检查了 conf/Catalina,conf/Catalina 中有几个文件夹,每个文件夹都响应 server.xml 文件中定义的一个主机指令。文件夹 134.xx.xxx.xx 是 app.war 文件夹,所以我在该文件夹中创建了一个 root.xml。那正确吗?我需要放入什么内容

标签: java url tomcat jakarta-ee path


【解决方案1】:

这没有简单的答案,因为涉及到许多组件。您应该隔离问题。例如,您可以开始删除 test.org 域映射,确保没有组件可能缓存输出等等。

然后在您将 Tomcat 与其他任何东西隔离之后,如果问题仍然存在,您可以声明这是一个 Tomcat 问题。

所以请 (pleeeeeeeease) 在您完成其中几个步骤后完善您的问题,以便 SO 社区可以帮助您。

抱歉,回复太长了。

【讨论】:

    【解决方案2】:

    在 ${TOMCAT_HOME}/conf/Catalina/localhost 中查看您的 app.xml。当您尝试重新部署时,此文件可能会被删除并重新创建,从而导致您出现问题。

    【讨论】:

    • 谢谢。有没有办法在重新部署时不删除这个文件?
    【解决方案3】:

    在您的 war 文件中,尝试在顶层创建一个文件夹 META-INF(与 WEB-INF 在同一目录中)并在 META-INF 文件夹中创建一个文件 context.xml。在context.xml 中输入:

    <Context path="" reloadable="true">
    </Context>
    

    看看这是否适合你。

    【讨论】:

    • 在不引起这个问题的情况下重新部署战争的正确方法是什么
    • 我个人从未见过在您重新部署时默认路由中断:我假设 context.xml 文件是源文件,但您可能还有其他问题。重新部署后,验证 context.xml 是否被复制到 conf 文件夹(这可以禁用,具体取决于您的 Tomcat 配置)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 2011-04-30
    • 2017-10-27
    • 2016-04-03
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多