Spring Boot中文手册(8):运行你的程序

“ 该系列的文章主要参考Spring Boot的官方文档来进行翻译,逐步将官方文档翻译过来,方便大家共同学习和讨论,但是毕竟能力有限,如有问题,感谢大家留言指正。”

把项目打包成一个完整的jar包,并且使用内嵌的HTTP Server的最大好处就是你可以像启动其他应用那样启动你自己的应用程序。调试你的Spring Boot工程也很简单,不需要特定的开发IDE插件或者扩展。

本章只涵盖了基于jar包打包的方式,如果你想将你的应用打包为war包,你应该参考一下你的服务器和IDE

1 从IDE中启动

你可以在你的IDE中像启动一个Java程序一样启动Spring Boot程序。首先你需要导入你的工程,导入的过程因你的IDE和构建工具的不同而有所差别。大多数的IDE工具可以直接导入Maven工程,Eclipse用户可以从 File菜单按照 Import… → Existing Maven Projects 的顺序导入。

如果你不能直接将你的项目导入到IDE中,你也许需要使用一个构建的插件来生成一个IDE的元数据,Maven提供了给Eclipse和IDEA的插件,Gradle提供了供各种IDE使用的插件。

如果不经意间运行了同一个web程序两次,你会收到一个“端口已经被占用”的错误信息,STS用户可以使用重新启动的按钮替代启动按钮来启动程序,这样可以保证上一次启动的程序被自动关闭。

  1. 将程序打包后运行

如果你用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 的目标,可以用来快速编译并启动你的程序。应用程序以一种完全暴露的形式运行,并没有以jar包形式运行,由于是即时“热加载”,你可以随时编辑你的文件。下面是一个典型的Maven命令,可以用来启动Spring Boot程序:

$ mvn spring-boot:run
你也许想使用 MAVEN_OPTS 来控制你的系统环境参数,如下面的示例:

$ export MAVEN_OPTS=-Xmx1024m
4. 使用Gradle插件启动

Spring Boot对应的Gradle插件也包含一个 bootRun 任务,可以用来以完全暴露的形式启动你的程序。 bootRun 任务会在你使用 org.springframework.boot 或者 java 插件的时候自动添加进来,使用下面的命令启动程序:

$ gradle bootRun
你也许想使用 MAVEN_OPTS 来控制你的系统环境参数,如下面的示例:

$ export MAVEN_OPTS=-Xmx1024m
5. 热交换

因为Spring Boot应用程序只是普通的Java应用,那么JVM的热交换(hot-swapping)特性支持也能能完美支持。JVM热交换在它能替换的字节码上有些限制,更全面的解决方案可以使用JRebel。

spring-boot-devtools 模块也能够支持程序的快速重启,在稍后的开发工具那一章可以获取更详细的信息。

END
在这里插入图片描述