此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.4spring-doc.cn

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.4spring-doc.cn

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

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