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

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

从 IDE 运行

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

如果无法将项目直接导入到 IDE 中,则可以使用构建插件生成 IDE 元数据。 Maven 包括 EclipseIDEA 的插件。 Gradle 为各种 IDE 提供插件。Spring中文文档

如果不小心运行了两次 Web 应用程序,则会看到“端口已在使用中”错误。 Spring Tools 用户可以使用按钮而不是按钮来确保关闭任何现有实例。RelaunchRun
如果不小心运行了两次 Web 应用程序,则会看到“端口已在使用中”错误。 Spring Tools 用户可以使用按钮而不是按钮来确保关闭任何现有实例。RelaunchRun

作为打包应用程序运行

如果您使用 Spring Boot Maven 或 Gradle 插件创建可执行 jar,则可以使用 运行应用程序,如以下示例所示:java -jarSpring中文文档

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

还可以运行启用了远程调试支持的打包应用程序。 这样做可以让你将调试器附加到打包的应用程序,如以下示例所示:Spring中文文档

$ 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中文文档

$ mvn spring-boot:run

您可能还希望使用操作系统环境变量,如以下示例所示:MAVEN_OPTSSpring中文文档

$ export MAVEN_OPTS=-Xmx1024m

使用 Gradle 插件

Spring Boot Gradle 插件还包括一个任务,可用于以分解形式运行您的应用程序。 每当您应用 and 插件时,都会添加该任务,如以下示例所示:bootRunbootRunorg.springframework.bootjavaSpring中文文档

$ gradle bootRun

您可能还希望使用操作系统环境变量,如以下示例所示:JAVA_OPTSSpring中文文档

$ export JAVA_OPTS=-Xmx1024m

热插拔

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

该模块还包括对快速应用程序重启的支持。 有关详细信息,请参阅热插拔“操作方法”spring-boot-devtoolsSpring中文文档