【问题标题】:Spring Boot .war context path for Undertow and TomcatUndertow 和 Tomcat 的 Spring Boot .war 上下文路径
【发布时间】:2015-07-19 03:42:21
【问题描述】:

我有一个 Spring Boot 应用程序,我将在现有 Tomcat 和 Undertow(Wildfly) 容器中部署为 .war 文件。如何从应用程序中配置上下文路径?

我知道我可以直接使用 .war 名称,但我不想这样做,因为 .war 名称包含版本信息等。

【问题讨论】:

  • 您是否使用 Undertow 作为 Wildfly 服务器的一部分?即将 webapp 部署到 tomcat 和 wildfly?
  • 是的 undertow 基本上是一个 Wildfly 服务器。

标签: java spring tomcat


【解决方案1】:

来自Tomcat configuration docs 定义上下文:

可以明确定义各个上下文元素:

  • 在应用程序文件中 /META-INF/context.xml 的单个文件中。可选(基于主机的 copyXML 属性)这可以被复制到 $CATALINA_BASE/conf/[enginename]/[hostname]/ 并重命名为
    应用程序的基本文件名加上“.xml”扩展名。
  • ...

另请注意:

如果您想使用上下文路径部署 WAR 文件或目录 与基本文件名无关,然后是以下之一 必须使用选项来防止双重部署:

  • 禁用 autoDeploy 和 deployOnStartup 并在 server.xml 中定义所有上下文
  • 在主机的 appBase 之外找到 WAR 和/或目录,并使用带有 docBase 属性的 context.xml 文件来定义它。

这也符合您正在寻找的内容How to set the context path of a web application in Tomcat 7.0

对于 undertow,如果它在 Wildfly AS 中用作 Web 服务器,请尝试使用 jboss-web.xml,例如:https://stackoverflow.com/a/28475123/4807777

【讨论】:

    【解决方案2】:

    您可以通过在您部署的应用程序中添加 /WEB-INF/jboss-web.xml 文件来执行此操作:

    <?xml version="1.0" encoding="UTF-8"?> <jboss-web xmlns="http://www.jboss.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-web_5_1.xsd"> <context-root>/</context-root> </jboss-web>

    如此处所述:https://stackoverflow.com/a/28475123/912829

    【讨论】:

      猜你喜欢
      • 2014-10-29
      • 1970-01-01
      • 1970-01-01
      • 2015-06-19
      • 1970-01-01
      • 2015-09-09
      • 1970-01-01
      • 2019-08-22
      • 2015-09-03
      相关资源
      最近更新 更多