Jar 和带有嵌入式 Tomcat 的 War 包装之间的区别

Difference between Jar and War packaging with embedded Tomcat

Spring 引导可以构建可执行的.jar.war 文件。除了文件扩展名之外,它们之间还有什么区别吗?

The documentation 表示 You should configure your project to build a jar or war (as appropriate)。对于 Spring MVC web 应用程序,不适合(出于技术原因)构建可执行文件 .jar 而不是可执行文件 .war?

一般来说,当您使用嵌入式容器时,您应该坚持默认设置并构建一个 jar 文件。

但是,该规则有两个例外:

  1. 您想使用 JSP。在这种情况下,you'll need to use war packaging 因为 Tomcat 的 JSP 支持与 war 文件的布局紧密耦合。
  2. 您还希望可以选择将应用程序部署到独立容器或应用服务器。