IDEA使用HotSwapHelper进行热部署

news2024/12/4 2:47:13

目录

    • 前言
    • JDK1.8特殊准备
    • DECVM安装
    • 插件安装与配置
    • 参考文档
    • 相关下载

前言

碰到了一个项目,用jrebel启动项目时一直报错,不用jrebel时又没问题,找不到原因,又不想放弃热部署功能
因此思考能否通过其他方式进行热部署,找了HotSwapAgent和HotSwapHelper,两者都试过,HotSwapHelper对比HotSwapAgent少了一些配置操作,稍微更友好点,但是前置环境两者都是一致的。(JDK8-181特殊版本以及Jdk版本对应的DECVM)后者是国人开发的摸索下来发现配置比较方便,网络上对此文章比较少因此考虑写一篇文章记录下

JDK1.8特殊准备

HotSwapHelper她是基于HotSwapAgent开发的,而HotSwapAgent截止到发稿前支持jdk1.8的最高版本是jdk-8u181,建议使用此版本,如果没有使用到指定版本则不能用。
已安装了别的版本的可以使用JavaUninstallTool工具进行java版本卸载
jdk-8u181和卸载工具已上传,请见文档底部相关下载

DECVM安装

HotSwapHelper她是基于HotSwapAgent开发的,而HotSwapAgent也是以来DECVM的,因此需要安装一个(文件已上传,请见文档底部相关下载,需配合上述的jdk-8u181使用
下载好后使用超级管理员进入cmd:搜索命令提示符,点击以管理员身份运行
在这里插入图片描述

输入命令执行jar包,java -jar DCEVM的全路径

java -jar D:\development\DCEVM-8u181-installer-build2.jar

在这里插入图片描述
找到对应的jdk版本(这里用的指定的181版本),然后点右下角安装

插件安装与配置

环境准备好后打开idea,
先配置好项目使用的jdk,让这个项目使用被DCEVM安装过的jdk,左上角点击File—Project Structure
在这里插入图片描述
点project,然后找到已经安装好DCEVM的jdk(刚刚安装的是181版本)
在这里插入图片描述
然后接下来开始安装插件
点击File—Setting,
在这里插入图片描述
找到Plugins,搜索Hotswap,找到HotSwapHelper,点击Install安装
在这里插入图片描述
安装完,重启后点击File----Setting,搜索HotSwap
在这里插入图片描述
将Reload classes after compilation设置成Always或者Asks,选Asks会每次热部署改代码的时候会自动弹一个提示让你是否重载,选Always就不弹。
然后点击确定,
然后需要修改项目启动配置,这里不知道不改会不会有问题,个人改了没有任何问题,保险点还是改一下
找到Run----Edit Configurations…
在这里插入图片描述
然后再最下面设置成Update classes and resources
在这里插入图片描述

在项目启动的时候可以选择热部署启动或者普通debugger启动,两者都会自动热部署,热部署配置完成!
在这里插入图片描述
想要Debug不热部署 只能够回到File—Setting,搜索Hotswap,把上面那一栏改成never。DebugMode和Debug with Hotswap都会同时失去热部署功能
在这里插入图片描述
这一点比较奇怪,一选择Always就两者都生效,一选择Never就两者都失效,暂时没找到解决办法

参考文档

链接: 使用 Idea + HotswapAgent 实现 SpringBoot 代码热部署(简易版)

相关下载

提取码88sb

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2252753.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

droppath

DropPath 是一种用于正则化深度学习模型的技术,它在训练过程中随机丢弃路径(或者说随机让某些部分的输出变为零),从而增强模型的鲁棒性和泛化能力。 代码解释: import torch import torch.nn as nn # 定义 DropPath…

机器学习算法(六)---逻辑回归

常见的十大机器学习算法: 机器学习算法(一)—决策树 机器学习算法(二)—支持向量机SVM 机器学习算法(三)—K近邻 机器学习算法(四)—集成算法 机器学习算法(五…

Ubuntu24.04初始化教程(包含基础优化、ros2)

将会不断更新。但是所有都是基础且必要的操作。 为重装系统之后的环境配置提供便捷信息来源。记录一些错误的解决方案。 目录 构建系统建立系统备份**Timeshift: 系统快照和备份工具****安装 Timeshift****使用 Timeshift 创建快照****还原快照****自动创建快照** 最基本配置换…

【Maven】Nexus私服

6. Maven的私服 6.1 什么是私服 Maven 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。一些无法从外部仓库下载到的构件,如项目组其他人员开发的…

Gradle vs. Maven: 到底哪个更适合java 项目?

ApiHug ApiHug - API Design & Develop New Paradigm.ApiHug - API Design & Develop New Paradigm.https://apihug.com/ 首先 ApiHug 整个工具链是基于 gradle 构建,包括项目模版, 插件; 说到 Java 项目管理,有两个巨头脱颖而出&a…

Dubbo的集群容错策略有哪些?它们的工作原理是什么?

大家好,我是锋哥。今天分享关于【Dubbo的集群容错策略有哪些?它们的工作原理是什么?】面试题。希望对大家有帮助; Dubbo的集群容错策略有哪些?它们的工作原理是什么? 1000道 互联网大厂Java工程师 精选面试…

分治的思想(力扣965、力扣144、牛客KY11)

引言 分治思想是将问题分解为更小子问题,分别解决后再合并结果。二叉树中常用此思想,因其结构递归,易分解为左右子树问题,递归解决后合并结果。 这篇文章会讲解用分治的思想去解决二叉树的一些题目,顺便会强调在做二…

中国电信张宝玉:城市数据基础设施建设运营探索与实践

11月28日,2024新型智慧城市发展创新大会在山东青岛召开,中国电信数字政府研究院院长张宝玉在大会发表主旨演讲《城市数据基础设施运营探索与实践》。报告内容包括城市数据基础设施的概述、各地典型做法及发展趋势建议三个方面展开。 篇幅限制&#xff0…

【论文阅读】Federated learning backdoor attack detection with persistence diagram

目的:检测联邦学习环境下,上传上来的模型是不是恶意的。 1、将一个模型转换为|L|个PD,(其中|L|为层数) 如何将每一层转换成一个PD? 为了评估第𝑗层的激活值,我们需要𝑐个输入来获…

深度学习案例:ResNet50模型+SE-Net

本文为为🔗365天深度学习训练营内部文章 原作者:K同学啊 一 回顾ResNet模型 ResNet,即残差网络,是由微软研究院的Kaiming He及其合作者于2015年提出的一种深度卷积神经网络架构。该网络架构的核心创新在于引入了“残差连接”&…

js高级-ajax封装和跨域

ajax简介及相关知识 原生ajax AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML,就是异步的 JS 和 XML。 通过 AJAX 可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。 按需请求,可以提高网站的性能 AJ…

【AI】Sklearn

长期更新,建议关注、收藏、点赞。 友情链接: AI中的数学_线代微积分概率论最优化 Python numpy_pandas_matplotlib_spicy 建议路线:机器学习->深度学习->强化学习 目录 预处理模型选择分类实例: 二分类比赛 网格搜索实例&…

如何让控件始终处于父容器的居中位置(父容器可任意改变大小)

前言: 大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在C#开发winform程序的时候,有时候需要将一个控件居中显示&#xff0c…

Python 调用 Umi-OCR API 批量识别图片/PDF文档数据

目录 一、需求分析 二、方案设计(概要/详细) 三、技术选型 四、OCR 测试 Demo 五、批量文件识别完整代码实现 六、总结 一、需求分析 市场部同事进行采购或给客户报价时,往往基于过往采购合同数据,给出现在采购或报价的金额…

【QT】背景,安装和介绍

TOC 目录 背景 GUI技术 QT的安装 使用流程 QT程序介绍 main.cpp​编辑 Wiget.h Widget.cpp form file .pro文件 临时文件 C作为一门比较古老的语言,在人们的认知里始终是以底层,复杂和高性能著称,所以在很多高性能需求的场景之下…

Linux内核编译流程(Ubuntu24.04+Linux Kernel 6.8.12)

万恶的拯救者,使用Ubuntu没有声音,必须要自己修改一下Linux内核中的相关驱动逻辑才可以,所以被迫学习怎么修改内核&编译内核,记录如下 准备工作 下载Linux源码:在Linux发布页下载并使用gpg签名验证 即&#xff1a…

【阅读笔记】Android广播的处理流程

关于Android的解析,有很多优质内容,看了后记录一下阅读笔记,也是一种有意义的事情, 今天就看看“那个写代码的”这位大佬关于广播的梳理, https://blog.csdn.net/a572423926/category_11509429.html https://blog.c…

linux下Qt程序部署教程

文章目录 [toc]1、概述2、静态编译安装Qt1.1 安装依赖1.2 静态编译1.3 报错1.4 添加环境变量1.5 下载安装QtCreator 3、配置linuxdeployqt环境1.1 在线安装依赖1.2 使用linuxdeployqt提供的程序1.3 编译安装linuxdeployqt 4、使用linuxdeployqt打包依赖1.1 linuxdeployqt使用选…

【PHP】部署和发布PHP网站到IIS服务器

欢迎来到《小5讲堂》 这是《PHP》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 前言安装PHP稳定版本线程安全版解压使用 PHP配置配置文件扩展文件路径…

视觉经典神经网络学习01_CNN(1)

一、概述 卷积神经网络(Convolutional Neural Network,CNN)是一种专门用于处理具有网格状结构数据的深度学习模型。最初,CNN主要应用于计算机视觉任务,但它的成功启发了在其他领域应用,如自然语言处理等。…