如何运行Spring Boot应用

19. 运行应用程序

将应用打包成jar并使用一个内嵌HTTP服务器的一个最大好处是,你可以像其他方式那样运行你的应用程序。调试Spring Boot应用也很简单;你不需要任何特殊IDE或扩展。

:本章节只覆盖基于jar的打包,如果选择将应用打包成war文件,你最好参考一下服务器和IDE文档。

19.1. 从IDE中运行

你可以从IDE中运行Spring Boot应用,就像一个简单的Java应用,但是,你首先需要导入项目。导入步骤跟你的IDE和构建系统有关。大多数IDEs能够直接导入Maven项目,例如Eclipse用户可以选择File菜单的Import…​ --> Existing Maven Projects

如果不能直接将项目导入IDE,你可以需要使用构建系统生成IDE元数据。Maven有针对EclipseIDEA的插件;Gradle为各种IDEs提供插件。

:如果意外地运行一个web应用两次,你将看到一个"端口已在使用中"错误。为了确保任何存在的实例是关闭的,STS用户可以使用Relaunch按钮而不是Run按钮。

19.2. 作为一个打包后的应用运行

如果使用Spring Boot Maven或Gradle插件创建一个可执行jar,你可以使用java -jar运行你的应用。例如:

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

运行一个打包的程序并开启远程调试支持是可能的,这允许你将调试器附加到打包的应用程序上:

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

19.3. 使用Maven插件运行

Spring Boot Maven插件包含一个run目标,它可以用来快速编译和运行应用程序。应用程序以一种暴露的方式运行,由于即时"热"加载,你可以编辑资源。

$ mvn spring-boot:run

你可能想使用有用的操作系统环境变量:

$ export MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=128M -Djava.security.egd=file:/dev/./urandom

("egd"设置是通过为Tomcat提供一个更快的会话keys熵源来加速Tomcat的。)

19.4. 使用Gradle插件运行

Spring Boot Gradle插件也包含一个run目标,它可以用来以暴露的方式运行你的应用程序。不管你什么时候导入spring-boot-pluginbootRun任务总是被添加进去。

$ gradle bootRun

你可能想使用那些有用的操作系统环境变量:

$ export JAVA_OPTS=-Xmx1024m -XX:MaxPermSize=128M -Djava.security.egd=file:/dev/./urandom

19.5. 热交换

由于Spring Boot应用程序只是普通的Java应用,那JVM热交换(hot-swapping)应该能出色的工作。JVM热交换在它能替换的字节码上有些限制,更全面的解决方案可以使用Spring Loaded项目或JRebel

关于热交换可以参考[“How-to”](…/IX. ‘How-to’ guides/README.md)相应章节。

猜你喜欢

转载自blog.csdn.net/2301_76484015/article/details/130555452