【问题标题】:Deploy java app to subdirectory将 java 应用程序部署到子目录
【发布时间】:2017-09-30 05:57:57
【问题描述】:

我正在使用 Maven 构建一个 JAVA (spring) 应用程序来进行安装。我的 pom.xml 文件包含:<finalName>tools</finalName>,所以当我安装它并将war文件上传到tomcat时,域是mydomain:8080/tools。我需要更改什么,以便它改用 mydomain:8080/go/tools

【问题讨论】:

  • <finalName>go/tools</finalName>
  • 我试过了。它在 target/go/tools.war 创建了 war 文件,但是当我将 tools.war 上传到服务器时,它仍然在 :8080/tools
  • 因为还保留了前一个 (tools),您必须将其删除。你试过访问go/tools吗?
  • 在tomcat/config下的web.xml或/和context.xml中定义上下文路径。
  • 这是我不明白的问题。我不能只上传战争文件,我必须将上下文设置为 /go/tools 并告诉服务器在哪里获取战争文件而不是上传它(使用 apache tomcat admin gui)。现在它正在工作。

标签: java spring maven tomcat tomcat8


【解决方案1】:

你可以这样做:

如果 Host deployXML 标志设置为 true,您可以安装 web 使用上下文配置“.xml”文件和可选的应用程序 “.war”文件或 Web 应用程序目录。未使用上下文路径 使用上下文“.xml”配置安装 Web 应用程序时 文件。

上下文配置“.xml”文件可以包含适用于 Web 的有效 XML 应用程序上下文就像在你的 Tomcat 中配置一样 server.xml 配置文件。这是Tomcat运行的示例 在 Windows 上:

WAR 或目录 URL 的使用是可选的。当习惯 选择一个 Web 应用程序“.war”文件或它覆盖的目录 在上下文配置“.xml”文件中配置的docBase。

这是一个使用 Context 安装应用程序的示例 在 Windows 上运行的 Tomcat 的配置“.xml”文件。

XML 配置文件 URL:file:C:/path/to/context.xml 这是一个 使用上下文配置安装应用程序的示例 “.xml”文件和位于服务器上的 Web 应用程序“.war”文件 (在 Unix 上运行的 Tomcat)。

XML 配置文件 URL:file:/path/to/context.xml WAR or Directory 网址:jar:file:/path/to/bar.war!/

Link

或者,您可以像这样简单地更改网络应用上下文路径:

<catalina_home>/conf/Catalina/localhost/中添加一个名为ROOT.xml的文件

此 ROOT.xml 将覆盖根上下文的默认设置 该引擎和主机(Catalina 和 本地主机)。

ROOT.xml文件中输入以下内容;

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

只需将path 设置为您想要的路径,例如/go/tools

Link

另外,正如我上面提到的,您可以在tomcat/config 文件夹下的server.xmlcontext.xml 中以几乎相同的方式进行操作。

【讨论】:

    猜你喜欢
    • 2018-12-01
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2021-01-24
    相关资源
    最近更新 更多