使用嵌入式HTTP服务器以及将程序打包成一个jar包的最大好处就是可以像运行其他程序一样运行你得程序。
提示:
本节只介绍基础的将程序打包成jar运行,如果你想要将程序打包成war包,需要参考服务器和IDE的文档。、
19.1 从IDE启动程序
你可以和运行一个简单的JAVA程序一样使用IDE运行你得程序,不过首先你要将程序导入IDE中,这个导入的步骤取决于你使用的IDE和构建系统。大部分IDE工具可以直接导入Maven工程,例如,Eclipse用户可以按File→ Import… → Existing Maven
Projects步骤导入工程。
如果你无法直接使用IDE工具导入程序,可以通过构建插件来生成IDE的元数据。Maven提供了Eclipse和IDEA插件,Gradle则提供了various IDE的插件。
提示:
如果你不小心点了两次运行程序,你会看到一个“Port already in use”错误。STS用户可以使用重新运行按钮而不是运行按钮来确保关闭正在运行中的程序。
19.2 运行一个打包的程序
如果你使用SpringBoot的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插件
SpringBoot的Maven插件包含了一个run指令,使用这个指令可以快速的编译并运行程序。和在IDE中运行一样,程序以分解式运行(原文是“run in an exploded form”,我个人理解的意思是不需要打包就可以运行,哈哈,我的渣渣英语)。下面的例子展示了一个典型的Maven运行命令:
$ mvn spring-boot:run
你可能想使用MAVEN_OPTS来改变系统环境变量,就和下边的例子一样:
$ export MAVEN_OPTS=-Xmx1024m
19.4 使用GradlePlugin
SpringBoot的Gradle插件同样包含了一个bootRun任务,它可以让程序以分解的方式运行。当你使用org.springframework.boot时,bootRun任务和java插件就会被添加,示例如下:
$ gradle bootRun
你可能同样想使用JAVA_OPTS来改变系统环境变量,示例如下:
$ export JAVA_OPTS=-Xmx1024m
19.5 热交换
由于SpringBoot的应用只是普通的java应用,所以JVM的热交换应该是开箱即用的。JVM的热交换在字节码文件更改的时候可能会收到限制,如果想要更好的解决方案,可以考虑使用JRebel。
spring-boot-devtools模块同样支持应用的快速重启,看第20节开发工具部分的后面部分还有“热交换如何去做”(90节)可以看到更多的细节。
总目录:总纲 Spring Boot官方文档(2.1.5版翻译)
上一篇:18.使用@SpringBootApplication注释
下一篇:20.开发工具