springboot热部署与发布
一、实现的方式概述
- 使用Spring Loaded
- 使用spring-boot-devtools
注意以下的热部署方式在IDEA是默认没有打开自动编译的,手动编译需要快捷键(Ctrl+Shift+F9),自动编译的修改配置如下:(注意刷新不要太快,会有1-2秒延迟)。
File-Settings-Compiler-Build Project automatically
二、spring-boot-devtools
在pom中直接引入依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional>
</dependency>
设置以下两项(第一项如已设置直接设置第二项)
1) “File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打勾 “Build project automatically” 。
2) 组合键:“Shift+Ctrl+Alt+/” ,选择 “Registry” ,选中打勾 “compiler.automake.allow.when.app.running” 。
之后直接正常run即可!
三、spring-loaded
在Plugins中添加依赖
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><dependencies><!-- spring热部署 --><dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId><version>1.2.6.RELEASE</version></dependency></dependencies></plugin></plugins>
</build>
如果依赖提示not found,先在上面写让maven下载下来,再移到Plugin里面来
命令行窗口启动
找到pom.xml的路径,IDEA的话打开Pom后在标签页鼠标悬停即可看到,或者在pom上右击->file Path
在这个路径下打开cmd窗口(win下可以通过shift快速在对应路径打开),输入启动命令
mvn spring-boot:run
这样就可以在IDE里修改代码实现热加载了!
还有一种复杂的方式是通过启动参数指定jar包的位置,感觉更加复杂,暂不赘述。
四、发布spring-boot程序
1.jar形式
通过maven直接INSTALL,把项目打包并且相关的依赖也打到同一个jar里面(推荐shade插件)。
启动:
java -jar Demo-0.0.1-SNAPSHOT.jar
2.war形式
第一步:右键pom.xml点击Run as - > Maven clean,将原有的jar包或war包清除,然后在pom.xml中packing节点值修改为war,如下面加粗部分:
<groupId>com.example</groupId><artifactId>Demo</artifactId><version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
第二步:在pom.xml中的dependencies节点里添加tomcat的如下依赖:
<dependency> <groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
第四步:pom.xml修改保存以后,项目会有红色叉出现,此时只要右键项目名,点击Maven - > Update Project,更新后红色叉叉即可消失。
第五步:打开启动类文件,如下添加橙色部分代码:
package com.wzr;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer{@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(DemoApplication.class);}public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}
}
第六步:右键pom.xml,点击Run as - > Maven install,然后刷新target就能看见已成功将项目打成war包,将war复制粘贴到Tomcat的webapps文件夹下,启动Tomcat即可。
springboot热部署与发布相关推荐
- 常用注解[spring 的 java 配置] ||springboot 热部署
常用注解[spring 的 java 配置] 回顾学过的 spring 的注解 @Controller @RestController @Service @Repository @Component ...
- SpringBoot 热部署
SpringBoot 热部署 最近在讲springcloud微服务,中间使用到springboot开发代码时,经常因为一点小的改动就需要重启,虽然重启也很快.于是就开始折腾热部署,下面记录如下: 一. ...
- SpringBoot热部署加持
概述 进行SpringBoot的Web开发过程中,我们很多时候经常需要重启Web服务器才能保证修改的 源代码文件.或者一些诸如xml的配置文件.以及一些静态文件生效,这样耗时又低效.所谓的热部署指的是 ...
- 超详细springboot热部署
超详细springboot热部署 ①修改依赖 <!--热部署--> <dependency><groupId>org.springframework.boot< ...
- SpringBoot热部署环境搭建和原理分析
SpringBoot热部署环境搭建 插件会监控 classpath的资源变化 对类加载采用了两种类加载器(只重启开发人员编写的代码部分) 一. 现象 开发项目过程中,修改了某些代码后需要本地验证时,需 ...
- idea中配置Springboot热部署
idea中配置Springboot热部署 1 pom.xml文件 注:热部署功能spring-boot-1.3开始有的 <!--添加依赖--> <dependency>< ...
- Springboot 热部署----热部署插件的使用
热部署有什么用?什么是热部署? 在实际开发中,我们修改某些代码逻辑功能或页面后都需要重启应用,这无形中降低了开发效率.因此,热部署出来了. 热部署就是指当我们修改代码后,服务能自动重启加载新修改的内容 ...
- SpringBoot热部署--bunny0728
bunny0728–SpringBoot热部署 第一步: <!--热部署配置--> <dependency> <groupId>org.springframewor ...
- springboot热部署该怎么实现?springboot热部署实现方式
Spring家族博大精深,我之前讲过该如何搭建一个简单的springboot项目,这次我们就来深入探讨一下springboot,比如,你们知道springboot该如何搭建热部署吗?下面就来为大家讲解 ...
最新文章
- 2021年春季学期-信号与系统-第八次作业参考答案-第五小题
- 【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )
- oracle建立dblink
- jQuery经典面试题及答案精选[转]
- 走进Java中的持有对象(容器类)之一 容器分类
- 十几行程序代码搞定 Master-Detail GridView(内含子 GridView)
- 虚拟机(基于栈还是基于寄存器)之谈
- psychopy 音频时长代码_PsychoPy入门_03_视频和音频的呈现
- 【LeetCode笔记】215. 数组中的第K个最大元素(Java、快排、堆排、并发快排)
- java调用 restapi 乱码_Java HttpURLConnection模拟请求Rest接口解决中文乱码问题
- Spring中部署Activiti流程定义的三种姿势
- 查询公司资产数据库中的主机是否在zabbix的监控中
- prml线性模型小结
- 使用$.getJSON解决ajax跨域访问 JQuery 的跨域方法(服务器端为wordpress程序)
- Java视频在线观看网址
- 科学计算机调成了fx,科学计算器怎么编程
- 重拾C语言-摄氏度与华氏度相互转换
- python 图表制作及功能化_Python实现从excel读取数据绘制成精美图像
- Entry name *.xml collided终极解决方案
- 介值定理究竟在讲什么?