Tomcat 8,在同一根目录下发布 2 个 .war



我有一个Tomcat 8实例,用于发布多个Web应用程序。 和今天一样,我有一个 Spring 架构,它产生了 2 个 .war:

  • 前端
  • 后端

结果如下:

  • http://localhost:8080/my-front-end
  • http://localhost:8080/my-back-end

我想实现的是,为这两场战争找到一条共同的根本道路。这是我可以在Tomcat中做的事情吗?在JBOSS或IIS中,我可以使用"虚拟目录"的概念来实现这一点。

我的预期结果如下:

  • http://localhost:8080/my-app/my-front-end (my-front-end.war(
  • http://localhost:8080/my-app/my-back-end (my-back-end.war(

Tomcat文档说在名称中使用#

Context Name     Base File Name     Example File Names
/foo             foo                foo.xml, foo.war, foo
/foo/bar         foo#bar            foo#bar.xml, foo#bar.war, foo#bar

因此,请为您的战争文件使用这些名称:


my-app#my-front-end.warmy-app#my-back-end.war

分别设置上下文路径:/my-app/my-front-end 和/my-app/my-back-end。

例如,如果您使用的是 Spring Boot,则放置:

server.contextPath=/my-app/my-front-end

server.contextPath=/my-app/my-back-end 

应用程序属性文件中。

如果您无法修改应用程序的源代码,您可以在此处了解如何配置 Tomcat 以获得相同的结果。