SpringBoot 官方文档中文版 - 7. 运行您的应用

前言

这是 SpringBoot 官方文档中文翻译版系列的第七篇文章:

前六篇文章如下:

SpringBoot 官方文档中文版 - 1. 入门指南

SpringBoot 官方文档中文版 - 2. 构建系统

SpringBoot 官方文档中文版 - 3. 构建你的代码

SpringBoot 官方文档中文版 - 4. 配置类与自动化配置

SpringBoot 官方文档中文版 - 5. Spring Beans 和 DI

SpringBoot 官方文档中文版 - 6. 使用 @SpringBootApplication 注解

运行程序

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

本节只介绍打包成 jar 包。如果选择将应用程序打包为 war 文件,则应参考服务器和 IDE 文档。

1. 从 IDE 中运行程序

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

如果不能直接将项目导入 IDE,则可以使用构建插件生成 IDE 元数据。Maven 包括用于 Eclipse 和 IDEA 的插件。Gradle 为各种 ide 提供了插件。

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

2. 打包运行

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

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

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

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

3. 使用 Maven 插件

Spring Boot Maven 插件包含一个 run指令,可以用来快速编译和运行应用程序。应用程序以分解形式运行,就像在 IDE 中一样。下面的示例显示了一个典型的Maven 命令来运行Spring Boot应用程序:

$ mvn spring-boot:run

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

$ export MAVEN_OPTS=-Xmx1024m

4. 使用 Gradle 插件

Spring Boot Gradle 插件还包括一个 boorun 任务,可以用来以分解形式运行你的应用程序。当你应用 org.springframework.boot 和 java 插件时,boorun 任务就会被添加,如下面的示例所示:

$ gradle bootRun

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

$ export JAVA_OPTS=-Xmx1024m

5. 热插拔

因为 Spring Boot 应用程序是普通的 Java 应用程序,所以 JVM 热插拔应该可以开箱即用。JVM 热插拔在某种程度上限制了它可以替换的字节码。对于更完整的解决方案,可以使用 JRebel

spring-boot-devtools 模块还包括对应用程序快速重启的支持。具体操作请参见热插拔“操作指南”

每天学习一点点,每天进步一点点。

posted @ 2021-07-25 09:29  爱吃西瓜的番茄酱  阅读(1102)  评论(0编辑  收藏  举报