19.1 权衡部署选项
您可以通过多种方式构建和运行 Spring Boot 应用程序。附录中介绍了这些方式,包括:
  • 使用 Spring Tool Suite 或 IntelliJ IDEA 在 IDE 中运行应用程序
  • 使用 Maven springboot:run 或 Gradle bootRun,从命令行运行应用程序
  • 使用 Maven 或 Gradle 生成可执行 JAR,然后在命令行或部署在云中运行
  • 使用 Maven 或 Gradle 生成 WAR 文件,然后部署到传统 Java 应用服务器中运行
这些选项中的任何一个都适合在开发过程中运行应用程序。但是,当您准备将应用程序部署到生产环境,或其他非开发环境中,应该怎么选择呢?
虽然从 IDE 或通过 Maven 或 Gradle 运行应用程序的方式,不适用于生产环境,但可执行 JAR 文件和传统 Java WAR 文件是适用于生产环境的。 那如何选择是部署 WAR 文件,还是 JAR 文件呢?一般来说,这取决于您是想将应用程序部署到传统 Java 应用服务器还是云平台:
  • 部署到 Java 应用服务器—— 如果必须将应用程序部署到 Tomcat、WebSphere、WebLogic 或任何其他传统 Java 应用程序服务器,真的别无选择,只能将应用程序构建为 WAR 文件。
  • 部署到云端——如果您计划将应用程序部署到云端,无论是 Cloud Foundry、Amazon Web Services(AWS)、Azure 还是 Google Cloud Platform,或其他云平台,一个可执行的 JAR 文件是最好的选择。即使云平台支持 WAR 文件部署,但 JAR 文件格式比 WAR 格式简单得多,WAR 格式是为应用服务器部署设计的。
在本章中,我们将重点介绍三种部署场景:
  • 将 Spring Boot 应用程序作为 WAR 文件部署到 Java 应用程序服务器,比如 Tomcat
  • 将 Spring Boot 应用程序作为可执行 JAR 文件推送到 CloudFoundry
  • 将 Spring Boot 应用程序打包到 Docker 容器中,以便部署到支持 Docker 的云平台
首先,让我们看看如何把配料服务构建为 WAR 文件,并部署到 Java 应用程序服务器(如 Tomcat)中。
复制链接