运行应用程序

将应用程序打包为 jar 并使用嵌入式 HTTP 服务器的最大优势之一是,您可以像运行任何其他应用程序一样运行应用程序。 该示例适用于调试 Spring Boot 应用程序。 您不需要任何特殊的 IDE 插件或扩展。spring-doc.cn

以下选项最适合在本地运行应用程序进行开发。 有关生产部署,请参阅打包应用程序以进行生产
本节仅介绍基于 jar 的打包。 如果您选择将应用程序打包为 war 文件,请参阅您的服务器和 IDE 文档。

从 IDE 运行

您可以从 IDE 将 Spring Boot 应用程序作为 Java 应用程序运行。 但是,您首先需要导入您的项目。 导入步骤因 IDE 和生成系统而异。 大多数 IDE 可以直接导入 Maven 项目。 例如,Eclipse 用户可以从菜单中选择 →。Import…​Existing Maven ProjectsFilespring-doc.cn

如果您无法直接将项目导入 IDE,则可以使用构建插件生成 IDE 元数据。 Maven 包括用于 EclipseIDEA 的插件。 Gradle 为各种 IDE 提供插件。spring-doc.cn

如果您不小心将 Web 应用程序运行了两次,则会看到“Port already in use”错误。 Spring Tools 用户可以使用 button 而不是 button 来确保关闭任何现有实例。RelaunchRun

作为打包应用程序运行

如果使用 Spring Boot Maven 或 Gradle 插件创建可执行 jar,则可以使用 运行应用程序,如以下示例所示:java -jarspring-doc.cn

$ java -jar target/myapplication-0.0.1-SNAPSHOT.jar

还可以在启用远程调试支持的情况下运行打包的应用程序。 这样做可以将调试器附加到打包的应用程序,如以下示例所示:spring-doc.cn

$ java -agentlib:jdwp=server=y,transport=dt_socket,address=8000,suspend=n \
       -jar target/myapplication-0.0.1-SNAPSHOT.jar

使用 Maven 插件

Spring Boot Maven 插件包括一个可用于快速编译和运行应用程序的目标。 应用程序以松散形式运行,就像它们在 IDE 中一样。 以下示例显示了用于运行 Spring Boot 应用程序的典型 Maven 命令:runspring-doc.cn

$ mvn spring-boot:run

您可能还希望使用 os 环境变量,如以下示例所示:MAVEN_OPTSspring-doc.cn

$ export MAVEN_OPTS=-Xmx1024m

使用 Gradle 插件

Spring Boot Gradle 插件还包括一个任务,可用于以爆炸形式运行应用程序。 每当您应用 and 插件时,都会添加该任务,如以下示例所示:bootRunbootRunorg.springframework.bootjavaspring-doc.cn

$ gradle bootRun

您可能还希望使用 os 环境变量,如以下示例所示:JAVA_OPTSspring-doc.cn

$ export JAVA_OPTS=-Xmx1024m

热插拔

由于 Spring Boot 应用程序是普通的 Java 应用程序,因此 JVM 热交换应该开箱即用。 JVM 热插拔在某种程度上受到它可以替换的字节码的限制。 对于更完整的解决方案,可以使用 JRebelspring-doc.cn

该模块还包括对应用程序快速重启的支持。 有关详细信息,请参阅“操作指南”中的热插拔部分。spring-boot-devtoolsspring-doc.cn