目前,我正在将多个war文件部署到Tomcat容器中。是否可以使用Spring Boot将所有war文件放入一个可部署的jar中?我知道这对于单个应用程序是可行的,但可以这样做来部署曾经在单独的war文件中的多个应用程序吗?
答案 0 :(得分:2)
Spring Boot by design将为每个容器运行一个app(一次战争)。如果你想进行uber-jar部署,我建议你继续使用它,因为它也遵循12-factor-app最佳实践。
如果你想在一个tomcat中运行多个war文件,我建议你按照“旧方式”将你的spring引导应用程序包装在war
个文件中,并将它们部署在已设置的tomcat或jetty中。 。
所以答案是:原则上 - 经过大量的调整 - 你可能能够实现你想要做的事情,但这不是春季启动应用程序的jar
分发的意图。永远记住:使用框架而不是反对它。
答案 1 :(得分:0)
Tomcat容器浏览Web应用程序,并使用其中定义的上下文根(web.xml的单个属性)映射每个war。因此,我认为您不能仅将文件合并为一个文件,并将它们视为单独的Web应用程序。
可以做的是仅在war文件中合并Web应用程序的代码,并在上下文根路径之后根据不同的路径拆分功能。