上一篇[17、SBeans和依赖注入#18、使用@SBootApp注解]
下一篇[20、开发者工具(1)]
英文原文:https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/using-boot-running-your-application.htmlGitHub:https://github.com/jijicai/Spring/tree/master/spring-boot
19、运行你的应用
把应用打包为 jar 并使用嵌入式 HTTP 服务器最大的好处之一是可以像运行其他应用一样运行你的应用。调试 Spring Boot 应用程序也很容易。你不需要任何特定的 IDE 插件或扩展。
注释:本节只介绍基于 jar 的打包。如果你选择将应用程序打包为 war 文件,你应当参考你的服务器和 IDE 文档。
19.1、在 IDE 中运行
你可以从 IDE 运行一个 Spring Boot 应用程序,将其作为一个简单的 Java 应用程序。但是,首先需要导入项目。导入步骤因 IDE 和 构建系统而异。大多数 IDE 可以直接将 Maven 项目导入。例如,Eclipse 用户可以从“文件”菜单中选择“导入...->现有的 Maven 项目”。
如果你不能直接将项目导入到 IDE,则你也许能通过使用构建插件来生成 IDE 元数据。Maven 包括 Eclipse 和 IDEA 的插件。Gradle 提供各种 IDE 的插件。
提示:如果意外地运行了两次 web 应用,则会看到“端口已经占用”的错误。STS 用户可以使用“重新运行”按钮而不使用“运行”按钮,以此来确保任何现有的实例都已关闭。
19.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
19.3、使用 Maven 插件
Spring Boot Maven 插件包括一个 run 目标,它可以用于快速编译和运行应用。应用以分解的形式运行,就像在 IDE 中一样。下面的示例展示了运行 Spring Boot 应用的典型 Maven 命令:
$ mvn spring-boot:run
你可能还希望使用 MAVEN_OPTS 操作系统环境变量,如下面示例所示:
$ export MAVEN_OPTS=-Xmx1024m
19.4、使用 Gradle 插件
Spring Boot Gradle 插件包含一个 bootRun 任务,它可以用于以分解的形式运行应用。每当应用 org.springframework.boot 和 java 插件时,都会添加 bootRun,如下面示例所示:
$ gradle bootRun
你可能还希望使用 JAVA_OPTS 操作系统环境变量,如下面示例所示:
$ export JAVA_OPTS=-Xmx1024m
19.5、热交换(Hot Swapping)
由于 Spring Boot 应用只是普通的 Java 应用,JVM 热交换应该是现成的。JVM 热交换在某种程度上受限于它可以替换的字节码。对于更完整的解决方案,可以使用 JRebel。
spring-boot-devtools 模块还支持快速应用重启。有关详细信息,请参阅本章后面的第 20 章“开发者工具”部分和热交换“如何”部分。
上一篇[17、SBeans和依赖注入#18、使用@SBootApp注解]
下一篇[20、开发者工具(1)]