运行 Spring Boot 应用的 3 种方式
今天介绍 3 种运行 Spring Boot 应用的方式,看大家用过几种?
你所需具备的基础
- 什么是 Spring Boot?
- Spring Boot 核心配置文件详解
- Spring Boot 开启的 2 种方式
- Spring Boot 自动配置原理、实战
- Spring Boot 2.x 启动全过程源码分析
更多请在Java技术栈微信公众号后台回复关键字:boot。
运行 Spring Boot 应用的 3 种方式
1、在 IDE 中运行
在 Eclipse、IDEA 中直接运行,又有以下两种方式。
- jar 包方式
Spring Boot 默认采用 jar 包内嵌 Tomcat、Jetty 等 Server 的方式,并需要提供一个含有 main 方法的主类。这个时候,直接在 IDE 中运行这个 main 方法就能启动 Spring Boot 应用了。

- war 包方式
如果你的应用改装成了 war 包方式部署,这个时候就需要在 IDE 中配置 Server,然后在 Server 中加入你的 Spring Boot 项目,最后运行这个 Server 即可。
如何改装成 war 包方式运行请看这篇文章《Spring Boot 发布 jar 包转为 war 包秘籍》
2、打包运行
当你的 Spring Boot 准备提测或者上线,都需要打成 jar 包或者 war 包运行,war 包方式这里不说直接丢到 Server 里面运行即可,这里介绍直接运行 jar 包的方式。
$ java -jar javastack-0.0.1-SNAPSHOT.jar
这种方式也支持开启远程调试,如:
$ java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n -jar javastack-0.0.1-SNAPSHOT.jar
3、用插件运行
可以在 IDE 或者命令行中使用 Maven 和 Gradle 插件来运行 Spring Boot 应用。
1)Maven Plugin
$ mvn spring-boot:run
更多详情请访问以下官方链接。
https://docs.spring.io/spring-boot/docs/current/maven-plugin/
2)Gradle Plugin
$ gradle bootRun
更多详情请访问以下官方链接。
https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/html/
最后来一张 Maven 的截图。

总结
在 IDE 中推荐使用插件的方式来运行,因为可以集成更多的插件化的功能,如:热部署、区别不同环境配置等。
在非 IDE 中请使用 java -jar 的方式,或者直接打包在 Server 中运行!
如果有收获,欢迎点赞转发!
本文原创首发于微信公众号:Java技术栈(id:javastack),关注公众号在后台回复 "boot" 可获取更多,转载请原样保留本信息。
运行 Spring Boot 应用的 3 种方式的更多相关文章
- 运行 Spring Boot 有哪几种方式?
打包用命令或者放到容器中运行用 Maven/ Gradle 插件运行直接执行 main 方法运行
- 创建Spring Boot项目的几种方式总结
一.我们可以使用Spring Initializr来创建SpringBoot项目. Spring Initializr从本质上来说就是一个Web应用程序,它能为你生成Spring Boot项目结构.虽 ...
- Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式
我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 43W+,如下图: 2017 年由于种种原因,就没有 ...
- Spring Boot开启的 2 种方式
Spring Boot依赖 使用Spring Boot很简单,先添加基础依赖包,有以下两种方式 1. 继承spring-boot-starter-parent项目 <parent> < ...
- 在CentOS下的docker容器中部署spring boot应用的两种方式
我们通常在 windows 环境下开发 Java,而通常是部署在Linux的服务器中,而CentOS通常是大多数企业的首选,基于Docker的虚拟化容器技术,多数Java应用选择这种方式部署服务.本文 ...
- Spring Boot开启的2种方式
Spring Boot依赖 使用Spring Boot很简单,先添加基础依赖包,有以下两种方式 1. 继承spring-boot-starter-parent项目 <parent> < ...
- spring boot集成pagehelper(两种方式)
当spring boot集成好mybatis时候需要进行分页,我们首先添加maven支持 <dependency> <groupId>com.github.pagehelper ...
- mybatis 热部署xml文件(spring boot和springmvc两种方式)
参考:http://thinkgem.iteye.com/blog/2304557 步骤:1.创建两个java类 (1)MapperRefresh.java :用于刷新mapper (2)SqlS ...
- Spring boot配置Dubbo三种方式
方式一 使用注解的方式 导入dubbo-starter 在application.properties配置属性 使用@Service暴露服务 使用@Reference引用服务 使用@EnableDub ...
随机推荐
- [JavaScript] 弹出编辑框
效果:单击图片copy,双击图片或者点Edit都会打开编辑窗口 Style <style> .black_overlay{ display: none; position: absolut ...
- jquery 上下文菜单实现
话不多说,直接贴上官方demo演示: https://swisnl.github.io/jQuery-contextMenu//demo
- 旅游类的APP原型模板分享——Priceline
Priceline是一款旅游服务的APP应用.功能有查找预订酒店.车票.机票等服务. 本原型由国产Mockplus(原型工具)和iDoc(智能标注,一键切图工具)提供. 先简单看看动图: 点击这里,可 ...
- 三、PyQt5不同方法创建菜单栏、工具栏和状态栏
创建菜单栏.工具栏和状态栏可以直接通过代码实现,也可以通过Qt Designer中的属性编辑器等实现.通过两种方法的学习可以加深理解,更好的掌握PyQt5. 一.菜单栏与状态栏 状态栏的设置比较简单, ...
- PHP不借助第三个变量交换值
总结一下: //方法一: $a = "abc"; $b= "def"; $a = $a^$b; $b = $b^$a; $a = $a^$b; //方法二: l ...
- python实现异步调用函数
import time from concurrent.futures import ThreadPoolExecutor def RunBenchmark(url): print('GET %s' ...
- 流量控制与RateLimiter
一背景 如何提高系统的稳定性,简单来说除了加机器外就是服务降级.限流.加机器就是常说的分布式,从整个架构的稳定性角度看,一般SOA每个接口的所能提供的单位时间服务能力是有上限.假如超过服务能力,一般会 ...
- suse11 安装 python3.6 python3 安装步骤
首先需要去网上下载Python-3.6.4.tgz,libopenssl-devel-0.9.8j-2.1.x86_64.rpm zlib-devel-1.2.7-3.14.x86_64.rpm li ...
- 20155205 郝博雅 《网络对抗技术》Exp1 PC平台逆向破解
20155205 郝博雅 <网络对抗技术>Exp1 PC平台逆向破解 一.实验准备 1. 掌握NOP.JNE.JE.JMP.CMP汇编指令的机器码 NOP:NOP指令即"空指令& ...
- Ubuntu14.04打开cheese却黑屏的问题
1.安装cheese 2.如发现cheese打开后,摄像头的灯亮了,但是没有图像,黑屏,且按钮都是不可操作状态,这时需要进行一下检测: a.lsusb,看是否有摄像头设备 b.ls /dev/vide ...