跳到主要内容
版本:3.5.10

运行你的应用程序

QWen Max 中英对照 Running Your Application

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

备注

以下选项最适合在本地运行应用程序以进行开发。关于生产环境的部署,请参阅 Packaging Your Application for Production

备注

本节仅涵盖基于 jar 的打包方式。如果你选择将应用程序打包为 war 文件,请参阅你的服务器和 IDE 文档。

从 IDE 中运行

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

如果你无法直接将项目导入到 IDE 中,或许可以通过使用构建插件来生成 IDE 元数据。Maven 提供了用于 EclipseIDEA 的插件。Gradle 也提供了针对 各种 IDE 的插件。

提示

如果你不小心两次运行同一个 Web 应用程序,会看到 “Port already in use” 错误。Spring Tools 用户可以使用 Relaunch 按钮而不是 Run 按钮,以确保关闭任何已存在的实例。

作为打包应用运行

如果你使用 Spring Boot 的 Maven 或 Gradle 插件来创建一个可执行的 jar,你可以使用 java -jar 来运行你的应用程序,如下例所示:

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

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

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

使用 Maven 插件

Spring Boot Maven 插件包含一个 run 目标,可用于快速编译并运行你的应用程序。应用程序以解压(exploded)形式运行,就像在你的 IDE 中一样。以下示例展示了一个典型的 Maven 命令来运行 Spring Boot 应用程序:

$ mvn spring-boot:run

你可能还想使用 MAVEN_OPTS 操作系统环境变量,如下例所示:

$ export MAVEN_OPTS=-Xmx1024m

使用 Gradle 插件

Spring Boot Gradle 插件还包含一个 bootRun 任务,可用于以解压形式运行你的应用程序。当你应用了 org.springframework.bootjava 插件时,就会自动添加 bootRun 任务,如下例所示:

$ gradle bootRun

你可能还想使用 JAVA_OPTS 操作系统环境变量,如下例所示:

$ export JAVA_OPTS=-Xmx1024m

热替换

由于 Spring Boot 应用程序是普通的 Java 应用程序,JVM 热交换(hot-swapping)应该开箱即用。不过,JVM 热交换在可替换的字节码方面存在一定的限制。若需更完整的解决方案,可以使用 JRebel

spring-boot-devtools 模块还包含对快速应用重启的支持。详见 “How-to Guides” 中的 Hot Swapping 部分。