如何将多个war文件重新部署到单个Spring Boot可部署jar中?

时间:2016-07-14 18:51:52

标签: spring-boot

目前,我正在将多个war文件部署到Tomcat容器中。是否可以使用Spring Boot将所有war文件放入一个可部署的jar中?我知道这对于单个应用程序是可行的,但可以这样做来部署曾经在单独的war文件中的多个应用程序吗?

2 个答案:

答案 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应用程序的代码,并在上下文根路径之后根据不同的路径拆分功能。