热加载

热加载可以使代码修改后无须重启服务器,就可以加载更改的代码。(其实分java和非java代码,本处可以让java代码立即生效且不重启服务)

第1种:修改服务器配置,使得IDEA窗口失去焦点时,更新类和资源

菜单Run -> EditConfiguration , 然后配置指定服务器下,右侧server标签下on frame deactivation = Update classes and resource。

优点:简单

缺点:基于JVM提供的热加载仅支持方法块内代码修改,只有debug模式下,并且是在idea失去焦点时才会出发热加载

热部署

热部署修改代码后,需要重启服务器,才能加载更改的java代码。(本处,可以让java代码和非java代码,都生效,但必须重启服务)

第2种:使用springloaded.jar包

a. 下载jar包,github:https://github.com/spring-projects/spring-loaded

b. 启动应用时添加VM启动参数:-javaagent:/home/lkqm/.m2/repository/org/springframework/springloaded/1.2.7.RELEASE/springloaded-1.2.7.RELEASE.jar -noverify

优点:对Spring系列框架支持好(不含Spring boot), 支持 成员级别的修改(增删改方法、字段、注解),支持对枚举值集。使用这种形式加载springloaded经过测试,延迟不算高, java代码修改后控制台看不到重启信息却也能生效.

缺点:与优点相对

更简单的方式

maven插件中使用pom.xml配置springloaded插件的依赖

    <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><dependencies><dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId><version>1.2.6.RELEASE</version></dependency></dependencies></plugin></plugins></build>

然后在终端使用命令行 mvn spring-boot:run启动,而通过Application.run方式启动的会无效,因为通过应用程序启动时,已经绕开了Maven插件机制。

第3种:使用spring-boot-devtools提供的开发者工具

 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><!-- 有人说optional一定要配置成true才有效, 但我调试完感觉不加optional也有效 --><optional>true</optional> </dependency>

优点:简单,支持Spring-boot项目,支持成员级别的修改热部署。

缺点:只支持spring-boot项目。

相关: application.properties配置

#热部署默认会重启
spring.devtools.restart.enabled=true
#添加那个目录的文件需要restart
spring.devtools.restart.additional-paths=src/main/java
#排除那个目录的文件不需要restart
spring.devtools.restart.exclude=static/**,public/**

第4种:使用Jrebel插件实现热部署(该插件14天免费试用)

在线安装:菜单File -> Setting -> Plugin, 点击右侧底部 Browse repositories, 弹出框顶部输入:JReble for Intellij, 选中安装即可。

优点:强大,对各类框架支持,并且提供IDE插件的方式。

后3种方法是基于类加载机制来实现热加载的,因此你修改完成代码后必须重新编译当前代码,才能触发热部署。

idea操作

Eclipse默认就支持了自动编译,而在Intellij IDEA中默认是关闭了自动编译的,可以按照如下2步设置开启:

  • IDEA开启项目自动编译,进入设置,Build,Execut, Deployment -> Compiler 勾选中左侧的Build Project automatically

  • IDEA开启项目运行时自动make, ctrl + shift + alt + / 命令:registry -> 勾选compiler.automake.allow.when.app.running

参考自:

Intellij IDEA 4种配置热部署的方法==>https://www.cnblogs.com/a8457013/p/7866536.html

其它参考

spring boot修改代码后无需重启设置,在开发时实现热部署==>https://blog.csdn.net/testcs_dn/article/details/79929886

SpringBoot入门-2(两种热部署方式)==>https://www.cnblogs.com/xswz/p/7350562.html

转载于:https://www.cnblogs.com/whatlonelytear/p/10370767.html

Intellij IDEA 4种配置热部署的方法【转】【补】相关推荐

  1. Intellij IDEA 4种配置热部署的方法

    热加载 热加载可以使代码修改后无须重启服务器,就可以加载更改的代码.(其实分java和非java代码,本处可以让java代码立即生效且不重启服务) 第1种:修改服务器配置,使得IDEA窗口失去焦点时, ...

  2. Intellij IDEA 安装和配置热部署插件JRebel进行项目的热部署

    最近在做一些前端调整,发现每次都要重启很麻烦,因为之前使用的MyEclipse就可以进行项目热部署,修改完前端页面后直接刷新就可以生效,IDEA应该也可以实现,网上搜索一番发现记录的都不是很清楚,写下 ...

  3. idea java 热部署_Intellij IDEA 热部署处理方法(图解)

    1. 首先参考IDEA热部署同行经验分享: Intellij IDEA 4种配置热部署的方法 2. IDEA 热部署实战: springboot项目: 不要引入热部署工具包spring-boot-de ...

  4. 用IDEA新建一个springboard项目配置热部署解决AutoWired注解报错

    1.新建Spring Boot项目 * 注意:项目名必须全部小写* 勾选一些需要的组建 我这里勾选了DevTools模块可以包含在任何项目中,它可以节省大量的时间. 和web模块还有链接数据库用的jd ...

  5. 配置idea自带的tomcat_Tomcat下载安装并部署到IDEA的教程(附带idea两种热部署设置方法)...

    使用Idea的时候,修改了代码,需要反复的重启Tomcat,查看效果,是不是贼烦?还记得刚上手idea的时候,瞎配置部署Tomcat,结果最后修改一个jsp都要重新启动服务器,我这金牛座程序员能忍?~ ...

  6. ieda 热部署_Idea配置热部署的详细教程

    一.概念 热部署就是正在运行状态的应用,修改了他的源码之后,在不重新启动的情况下能够自动把增量内容编译并部署到服务器上,使得修改立即生效.热部署为了解决的问题有两个, 一是在开发的时候,修改代码后不需 ...

  7. eclipse里面配置热部署,tomcat配置

    tomcat热部署问题: 在开始上班之前,项目还很小.每个项目启动只要几秒钟,当时不觉得麻烦. 可是---------------------------------------------- 上班之 ...

  8. SpringBoot 配置热部署

    SpringBoot 配置热部署 先来说一说热部署具体有什么样的神奇作用? 再我们平常编写一个web项目时,都知道如果修改html或者jsp这些前端页面,我们浏览器刷新,是可以实时更新的.但是如果修改 ...

  9. IDEA 配置热部署

    IDEA 配置热部署 引言 步骤1 步骤2 步骤3 IDEA 旧版本 IDEA 新版本 热部署的缺点 总结 引言 平时如果我们修改了自己项目的代码后,都要重新运行启动类,才能使新的项目生效,配置了热部 ...

最新文章

  1. 工具类HttpServerUtility
  2. 创建带有关联的 XML 架构的 XML 文件 从 XML 文件创建 XML 架构
  3. 函数调用栈 剖析+图解
  4. Python 定时调度
  5. RecyclerView因版本问题无法加载
  6. 移动客户端与服务器端安全通信方案
  7. 前端八大灵感设计,代码变为现实
  8. 《Java8实战》笔记(03):Lambda表达式
  9. 开启httponly之后登陆失败_二次元约会模拟《少女都市》正式版登陆Steam 橘势大好...
  10. mie散射理论方程_散射,原子分子散射
  11. 代码上传到github上
  12. 德芙背后刻骨铭心的痛
  13. 2022年最新版java 8(jdk1.8u321)下载及安装
  14. 怎样带团队,带好团队
  15. 武汉最最最牛逼的IT公司全在这了
  16. 高通MSM8953点屏记录
  17. 抖音小程序Tiktok教程之 01 编写您第一个hello world程序(含视频教程)
  18. 4094. Spiral matrix
  19. [Nikon D80]南京新庄立交桥
  20. 回音消除原理解析及Android应用

热门文章

  1. 基于struts2拦截器实现用户操作日志记录
  2. 基于 WebSocket 的 MQTT 移动推送方案
  3. 浏览器是如何展示网页的
  4. 用JScript.net写.net应用程序(转)
  5. GIt本地相关操作(一)
  6. 在linux查看内存的大小
  7. 用开源项目cropper实现对图片中任意部分进行裁剪
  8. 冯小刚导演系列公益短片之林心如版
  9. IEEE R10 Event Funding Portal
  10. 亲测有用的markdown博客生成器