Intellij IDEA 4种配置热部署的方法【转】【补】
热加载
热加载可以使代码修改后无须重启服务器,就可以加载更改的代码。(其实分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
Intellij IDEA 4种配置热部署的方法【转】【补】的更多相关文章
- Intellij IDEA 4种配置热部署的方法
热部署可以使的修改代码后,无须重启服务器,就可以加载更改的代码. 第1种:修改服务器配置,使得IDEA窗口失去焦点时,更新类和资源 菜单Run -> EditConfiguration , 然后 ...
- Tomcat下载安装并部署到IDEA(附带idea两种热部署设置方法)
目录 Tomcat下载教程 Tomcat安装教程 Tomcat热部署到IDEA idea两种热部署设置方法 使用Idea的时候,修改了代码,需要反复的重启Tomcat,查看效果,是不是贼烦?还记得刚上 ...
- jrebel配置热部署参数
jrebel配置热部署参数: -noverify -agentpath:D:/jrebel/lib/jrebel64.dll -Drebel.dirs=E:/workspace/item/src/ma ...
- springboot项目:以run as-->spring boot app方式启动,配置热部署(亲测可用!!!)
1.在pom.xml中添加热部署依赖 <!-- 热部署 --> <!-- devtools可以实现页面热部署(即页面修改后会立即生效, 这个可以直接在application.prop ...
- springboot 配置热部署 及 热部署后依旧是404的坑
springboot配置热部署的教程网上一大堆: 个人喜欢这种方式: https://www.cnblogs.com/winner-0715/p/6666579.html 本文主要强调的是,大家如果配 ...
- Linux操作系统下三种配置环境变量的方法
现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以配置java环境变量为例介绍三种配置环境变量的方法. 1.修改/etc/profile文件 如果你的计算机仅仅作 ...
- Linux操作系统下三种配置环境变量的方法——转载
来源:赛迪网 作者:millio 现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以配置java环境变量为例介绍三种配置环境变量的方法. 1.修改/e ...
- hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)
Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种 ...
- Intellij idea 配置热部署
1. 采用外部tomcat的配置 1)打开右上角Run的Edit Configuration进入Tomcat配置选项页面 2)将On frame deactivation选项更改为 Update ...
随机推荐
- 从零学习Fluter(九):正式使用flutter进入商业开发
一下为下个app 功能模块简要划分 接口文档需要说明 公告接口 messageTitle -- 消息内容 红包墙接口 使用说明 地理位置定位 shareGetMoney - 分享活动金额 lookCo ...
- 【English】五、颜色相关
一.常见颜色 黑色 black 白色 white 蓝色 blue 橙色 orange 黄色 yellow 灰色 gray ...
- Scala之eq,equals,==的区别
一.简介 根据官方API的定义: final def ==(arg0: Any): Boolean The expression x == that is equivalent to if (x eq ...
- (二)图数据neo4j基本认识
1.neo4j介绍 Neo4j是由Java和Scala实现的开源NoSQL图数据库.自2003年开始研发,直到2007年正式发布第一版.Neo4j的源代码托管在GitHub上,技术支持托管在Stack ...
- Bootstrap -- 插件: 提示工具、弹出框、 警告框消息
Bootstrap -- 插件: 提示工具.弹出框. 警告框消息 1. 提示工具(Tooltip)插件:根据需求生成内容和标记. 使用提示工具: <!DOCTYPE html> <h ...
- spring【一】 学习
Spring 源码学习 通过注解的形式注入IOC 简单的创建一个maven的项目的 下载指定的spring的核心jar包(https://mvnrepository.com/artifact/org. ...
- 001_python实现数据分析
一. # coding:utf8 # !/usr/bin/python # import numpy as np import pandas as pd import np def example2( ...
- 2 OpenWrt路由器系统开发与网页设计
https://www.zhongkerd.com/news/content-729.html 摘 要: 目前商用WiFi路由器已应用到多个领域,商家通过给用户提供一个稳定免费WiFi热点达到吸引客户 ...
- Android Studio自定义注释模板
一.自定义新建文件时生成的注释 setting->Editor->File and Code Templates->Includes->File Header,在这里输入自定义 ...
- day09(垃圾回收机制)
1,复习 文件处理 1.操作文件的三步骤 -- 打开文件:硬盘的空间被操作系统持有 | 文件对象被应用程序持续 -- 操作文件:读写操作 -- 释放文件:释放操作系统对硬盘空间的持有 2.基础的读写 ...