Java项目热部署方案之IDEA-HotSwapAgent和DCEVM大法

news/2024/9/23 9:26:01/

一、环境准备

HotSwapAgent (http://hotswapagent.org)依赖 DCEVM。而 DCEVM要求jdk版本必须对应,如果你用的 jdk1.8,首先需要确认安装的是jdk8u181。

1.1 如果用java8开发的话,需要安装jdk1.8u181版本,因为DCEVM版本要求一致

jdk1.8u181 下载地址:jdk1.8u181 下载地址
在这里插入图片描述

1.2 下载 DCEVM ,jdk8u181+2/DCEVM-8u181-installer-build2.jar

二、配置

2.1 配置环境变量

设置java环境变量为新安装的jdk8u181。
C:\Users\cvec2022>java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

2.2 以管理员运行cmd

在这里插入图片描述
运行启动DCEVM:java -jar "D:\softs\DCEVM-8u181-installer-build2.jar"
在这里插入图片描述

如上图,选中1.8.0_181版本,点击右下角的Install DCEVM as altjvm 就会从no变为yes(25.71-b01-dcevmlight-26)

2.3 Idea开发工具安装HotSwapAgent插件

在这里插入图片描述

2.4 HotSwapAgent插件配置

在这里插入图片描述
注意:如果Agent installation的路径没有hostswap-agent-1.4.1.jar ,这需要手动下载hostswap-agent-1.4.1.jar (hostswap-agent-1.4.1.jar下载地址)放到对应路径下,我的路径是:C:\Users\cvec2022\AppData\Roaming\JetBrains\IdeaIC2022.2\plugins\hotswap-agent-intellij-plugin\lib\agent\hotswap-agent-1.4.1.jar

2.5 Springboot项目配置

打开project Structure 设置SDK为8u181版本
在这里插入图片描述

在这里插入图片描述

三、启动测试

需要Debug方式启动springboot项目,随便找个好使的接口,第一次运行,无输出。
启动时,会有HOTSWAP AGENT:xxxxxxx提示:
在这里插入图片描述

添加一行新代码,不重启服务,Ctrl+F9重新编译(或者鼠标在重写的文件上,然后Ctrl+Shift+F9重新编译单个文件)
在这里插入图片描述
首先重新编译后,会有如下提示:表示有1个文件被重新加载了。
在这里插入图片描述
然后调用接口,看输出:OK
在这里插入图片描述
最后: 改mapper dao层sql不好使,如果偶尔确定自己改了,但是build后提示 0 class reloaded ,则就需要手动重启下了。有需要的赶紧去试试吧。

END


http://www.ppmy.cn/news/38633.html

相关文章

FastJson——JSO字符串与对象的相互转化

一、FastJson介绍 ​ Fastjson是阿里巴巴的开源SON解析库它可以解析JSON格式的字符串,支持将java Bean序列化为ISON字符串,也可以从JSON字符串反序列化到JavaBean。 Fastjson的优点 速度快 fastjson相对其他JSON库的特点是快,从2011年fastj…

就算摆个地摊,也要分析一下竞争环境

就算摆个地摊,也要分析一下竞争环境 趣讲大白话:忽视竞争环境,商业设计太嫩 【趣讲信息科技124期】 **************************** 需求和供给是市场的核心矛盾 马克思说的经济危机,就是生产过剩 大中国已经把生产能力冲到了顶 物…

《阿德勒心理学》笔记

赋予过去什么样的价值,是我们现在的课题 目的论 生活方式 现状的不满 改变的不安 勇气 追求优越 自卑感 自卑情节 越自负的人越自卑 一切烦恼均来自人际关系 苦于强烈的自卑感,却没有勇气通过努力或成长之类的健全手段去进行改变,又无法忍受因…

《统计学习方法》学习笔记之第二章:感知机

目录 第一节 模型介绍和学习策略 模型介绍 学习策略 第二节 梯度下降法 概念 算法 梯度下降法:例子 原理 第三节 学习算法之原始形式 学习问题 原始形式 例题分析 第三节 学习算法之对偶形式 对偶形式 例题分析 第四节 原始形式算法的收敛性 第一节 模…

高级Java工程师面试题经典面试题1220道(附答案)

人人都想进大厂,当然我也不例外。早在春招的时候我就有向某某某大厂投岗了不少简历,可惜了,疫情期间都是远程面试,加上那时自身也有问题,导致屡投屡败。突然也意识到自己肚子里没啥货,问个啥都是卡卡卡卡&a…

Spring《二》bean的实例化与生命周期

🍎道阻且长,行则将至。🍓 上一篇:Spring《一》快速入门 下一篇:Spring《三》DI依赖注入 目录一、bean实例化🍍1.构造方法 ***2.静态工厂 *使用工厂创建对象实例化bean3.实例工厂 ***使用示例工厂创建对象实…

JavaScript中的Object.assign与Getter,Setters 和 definePropert使用

本文介绍关于JavaScript中操作元素对象的Object.assign与Getter,Setters ,definePropert方法。通过对这些概念的理解,能帮助大家更好的理解在JavaScript中项目开发中我们是如何使用这些概念。这些基础概念也是现代JavaScript开发中必知必会的知识点&…

node-red 的 devops平台 FlowForge 特性简介,有什么用处

前言 上一篇文章,我们简单了解了一下flowforge这个平台,它是用来弥补node-red的不足,一个社区的多租户,devops平台。并且介绍了为什么要使用flowforge。那么本篇文章就来讲解一下这个平台的特性。 特性 首先flowforge是一个开源的平台,仓库地址 https://github.com/flo…