idea springboot热加载,springboot热部署

  idea springboot热加载,springboot热部署

  00-1010一、使用Jrebel插件二。devtools实现热加载1.1。带有devtools的maven依赖1.2。设置IDEA1.3 .修改application.properties配置1.4.LiveReload插件1.5。最后,测试一下。在实际开发过程中,我们经常会修改代码,然后手动重启项目,手动刷新浏览器,检查修改效果。那么有没有办法快速自动更新修改后的代码,避免手动重启,从而提高开发效率呢?有,有,但是很多人对这个函数的名字有争议。我查阅了维基百科和官方文献,没有得到合理的答案,也没有权威的定义。我知道的是:热启动、热加载、热更新、热部署、热切换。这些词语义不同,但叫什么并不重要。最重要的是它们得到了落实。毕竟大部分程序员不是为了用这个功能方便开发而专门从事学术研究的。

  如果有朋友得到权威说法,可以给我一个文件链接。再让我理解一下,学术研究层面力求一丝不苟!在此之前,作者根据自己的想法和英文翻译使用这些名词。

  00-1010这是最简单的方法,但是有一些限制。Jrebel插件充电。虽然有解决方法,但不推荐!有需要的同学可以自己学习,这里就不介绍了。

  Jrebel插件在Spring Boot的某些版本中不够兼容,它会报告错误。版本越新,越容易报错。所以,笔者目前还是选择性放弃这种方法!

  步骤1:安装插件,按照箭头指示选择安装。安装完成后,您必须重新启动IDEA才能生效。

  第二步:激活。安装完成后,右上角会多几个按钮。点击后会提示激活插件,可以通过注册码激活,也可以在线激活。您也可以填写您的姓名、电子邮件地址和电话号码,并获得10天的试用期!

  步骤3:更新操作触发器配置。这种配置不仅与Jrebel结合使用有效,而且在开发过程中还会检查是否需要其他方式来自动更新。

  在Spring Boot项目的启动配置中,选择下图红框中的内容:uo日期类和“更新”动作上的资源。

  配置完成后,通过右上角的JR按钮启动SpringBoot项目。可以实现对变化的代码和资源的自动更新。

  00-1010这是SpringBoot的常见实现。

  00-1010依赖groupIdorg.springframework.boot/groupId神器Spring-Boot-dev tools/Artifact ID可选True/Optional/Dependency Spring-Boot-dev tools,从名字就可以看出,是一个开发者的工具包,主要功能是实现热加载。

  它的实现原理是两个ClassLoader,一个负责加载不经常变化的文件,比如第三方的jar包,一旦引入项目,这部分代码在调试过程中保持不变;一个负责加载的类可能会经常改变,比如我们自己在项目中写的代码,叫做restart ClassLoader。当代码改变时,重新构建一个重启类加载器,而原来的重启类加载器被丢弃。因为每次重新加载的内容少,所以比手动重启快。

  00-1010首先在运行时编译配置:组合键:“Shift Ctrl Alt/”,选择“注册表”,勾选“compiler . automake . allow . when . app . running”。

  其次,自动编译配置:“文件”-“设置”-“构建、执行、依赖”-“编译器”,勾选“自动生成项目”

   。这是一种重新自动化的编译整体项目的方法。但是笔者一般不这么做,因为IDEA的文件是自动保存的,你想修改一个字符串,有可能你只修改完成第一个字符它就重新编译了,重新加载启动。所以,笔者一般代码修改完成之后,使用Ctrl + F9快捷键对修改类重新编译,而不是做项目的自动化编译。

  

 

  最后,在一些相对旧的IDEA版本上运行时配置,按如下图形勾选。(新版本IDEA已经不需要了)

 

  

 

  

1.3.修改一下application.properties配置

在比较新的Spring Boot devtools版本中我们已经不需要做如下的配置了,但是如果你以上的步骤都完成了,仍然无法实现代码更改之后的热加载,请参考下面的方法。在有些版本我们需要配置热加载生效的开关,使其值等于true。

 

  下文是properties格式配置,喜欢yml格式的同学可以自行调整一下。默认情况下,支持热加载的目录如下,如果需要其它目录下文件支持热加载需要手动配置:

  

/META-INF/maven

 

  /META-INF/resources

  /resources

  /static

  /public

  /templates

  

#热加载生效spring.devtools.restart.enabled=true#额外新增的热加载目录spring.devtools.restart.additional-paths= src/main/java#热加载排除目录#spring.devtools.restart.exclude=

 

  

1.4.LiveReload插件

最后建议你去chrome 浏览器插件商店安装一个插件叫做LiveReload。

 

  

 

  Spring devtools默认会启动一个 Live Reload Server实例,监听文件的变化。并实时的与浏览器插件通信,更新浏览器展示界面。这样,你就不用每次更改内容之后都点击浏览器刷新按钮了。

  

 

  

1.5.最后测试一下

改一下代码,看看会不会生效。通常不生效的原因有两种:

 

  JDK编译版本和运行版本不统一,自行学习一下IDEA环境下JDK配置浏览器缓存或者其他的缓存软件导致的问题以上就是springboot在IDEA环境下的热加载与热部署教程的详细内容,更多关于springboot在IDEA环境下热加载部署教程的资料请关注盛行IT其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: