运行您的应用程序
将应用程序打包为 jar 文件并使用嵌入式 HTTP 服务器的最大优势之一在于,你可以像运行其他应用程序一样运行你的应用。这个示例适用于调试 Spring Boot 应用程序。你不需要任何特殊的 IDE 插件或扩展。
以下选项最适合在本地运行应用程序进行开发。有关生产部署,请参阅为生产环境打包您的应用程序。
本节仅涵盖基于 jar 的打包方式。如果你选择将应用打包为 war 文件,请参阅你的服务器和 IDE 文档。
从 IDE 运行
你可以直接从你的 IDE 中将 Spring Boot 应用作为一个 Java 应用程序运行。不过,首先你需要导入你的项目。导入步骤因你的 IDE 和构建系统而异。大多数 IDE 都可以直接导入 Maven 项目。例如,Eclipse 用户可以从 文件
菜单中选择 导入…
→ 现有的 Maven 项目
。
如果你不小心运行了一个 Web 应用程序两次,你会看到一个“端口已被占用”的错误。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
目标,可用于快速编译和运行你的应用程序。应用程序以展开的形式运行,就像在你的 IDE 中一样。以下示例展示了一个典型的 Maven 命令来运行 Spring Boot 应用程序:
$ mvn spring-boot:run
你可能还想使用 MAVEN_OPTS
操作系统环境变量,如下例所示:
$ export MAVEN_OPTS=-Xmx1024m
使用 Gradle 插件
Spring Boot Gradle 插件还包含一个 bootRun
任务,该任务可用于以展开形式运行你的应用程序。每当你应用 org.springframework.boot
和 java
插件时,bootRun
任务就会被添加,如下例所示:
$ gradle bootRun
你可能还想使用 JAVA_OPTS
操作系统环境变量,如下例所示:
$ export JAVA_OPTS=-Xmx1024m
热替换
由于 Spring Boot 应用程序是纯 Java 应用程序,因此 JVM 热交换应该可以直接使用。JVM 热交换在可替换的字节码方面有些限制。对于更完整的解决方案,可以使用 JRebel。
spring-boot-devtools
模块还支持快速应用程序重启。有关详细信息,请参阅“操作指南”中的热插拔部分。