代码动态编译

news2025/1/13 15:56:45

背景

开发环境下新加代码、改代码时要重启后生效(耗时间);需求:不用重启且支持springboot 、spring、MyBatis。

实现

下地地址:https://github.com/JetBrains/JetBrainsRuntime/releases
1.根据系统类型下载压缩包
在这里插入图片描述

2.解压后配置环境变量
将第一章中的JAVA环境中的JAVA_HOME值换成jbr17解压缩后的路径,
3.下载hotswap https://github.com/HotswapProjects/HotswapAgent/releases/tag/1.4.2-SNAPSHOT。

在jbr17的lib目录下新建文件夹hotswap ,将下载的hotswap-agent-1.4.2-SNAPSHOT.jar
重命名为hotswap-agent.jar放到hotswap 文件夹下。
4.运行配置
-XX:+AllowEnhancedClassRedefinition
-XX:HotswapAgent=external
-javaagent:目录jbr17/lib\hotswap-agent.jar=autoHotswap=true
-XX:+AllowEnhancedClassRedefinition
–add-opens=java.desktop/java.awt.event=ALL-UNNAMED
–add-exports=java.base/sun.nio.ch=ALL-UNNAMED
–add-opens=java.desktop/sun.font=ALL-UNNAMED
–add-opens=java.desktop/java.awt=ALL-UNNAMED
–add-opens=java.desktop/sun.awt=ALL-UNNAMED
–add-opens=java.base/java.lang=ALL-UNNAMED
–add-opens=java.base/java.util=ALL-UNNAMED
–add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
–add-opens=java.base/jdk.internal.loader=ALL-UNNAMED
–add-opens=java.desktop/javax.swing=ALL-UNNAMED
–add-opens=java.desktop/sun.swing=ALL-UNNAMED
–add-opens=java.desktop/sun.lwawt.macosx=ALL-UNNAMED
–add-opens=java.desktop/sun.lwawt=ALL-UNNAMED
–add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
–add-opens=java.desktop/java.awt.peer=ALL-UNNAMED
–add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED
–add-opens=java.desktop/sun.awt.windows=ALL-UNNAMED
–add-opens=java.desktop/sun.awt.image=ALL-UNNAMED
–add-opens=java.desktop/sun.java2d=ALL-UNNAMED
–add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
–add-opens=jdk.jdi/com.sun.tools.javac.code=ALL-UNNAMED
–add-opens=jdk.jdi/com.sun.tools.jdi=ALL-UNNAMED
–add-opens=java.base/com.sun.tools.jdi=ALL-UNNAMED
–add-exports=java.desktop/sun.font=ALL-UNNAMED
–add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED
–add-opens=java.base/sun.nio.ch=ALL-UNNAMED
–add-exports=java.base/sun.security.action=ALL-UNNAMED
–add-exports=jdk.jdi/com.sun.tools.jdi=ALL-UNNAMED

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

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

相关文章

手动将dingtalk-sdk-java jar包打入maven本地仓库

有时候,中央镜像库不一定有自己需要的jar包,这时候我们就需要用到该方法,将jar打入maven本地仓库,然后项目中,正常使用maven的引入规则。 mvn install:install-file -Dmaven.repo.local=D:\software\maven\apache-maven-3.6.3-bin\apache-maven-3.6.3\repo -DgroupId=ding…

生态共建 | 华宇TAS应用中间件与新华三服务器完成兼容互认证

近日,华宇TAS应用中间件完成与新华三技术有限公司的R4930系列和R4970 G7服务器的兼容适配,认证测试报告显示,双方产品兼容性良好,运行稳定、安全,可以满足用户对双方功能的要求。 新华三技术有限公司 新华三技术有限公…

《Winodws API每日一练》8.2 static控件

在 Windows 编程中,"Static" 控件是一种常见的用户界面元素,用于显示静态文本或图像,而无法进行用户交互。它通常用于显示标签、标题、说明文本或静态图像等信息。Static 控件是一种静态的、只读的显示元素,不接受用户的…

ConsiStory:无需训练的一致性文本到图像生成技术

随着大规模文本到图像(T2I)扩散模型的发展,用户可以更自由地通过文本指导图像生成过程。然而,要在不同的提示中保持同一主题的视觉一致性仍然是一个挑战。现有的方法通常需要对模型进行微调或预训练,以教授新词汇来描述…

信息安全驱动汽车行业快速向数字化转型

开发一款安全性良好的软件是困难的,它需要专业知识的积累以及对常见编程缺陷和规则的了解,例如检查输入范围、管理内存分配和回收、寻址字符串格式、避免悬空指针等等。通常情况下,编写安全代码与开发人员编写“流畅”代码的自然愿望形成了对…

滤波算法学习笔记

目录 引言 一、定义 二、分类 三、常见滤波算法 四、应用与优势 五、发展趋势 例程 1. 均值滤波(Moving Average Filter) 2. 中值滤波(Median Filter) 3. 高斯滤波(Gaussian Filter) 4.指数移动…

新技术 高效的碳捕捉技术设计

网盘 https://pan.baidu.com/s/1mUlEhbQ6LBHYdmfg-du9bw?pwdc7gk 一种用于高效捕集CO_Sub_2__Sub_的生物炭颗粒吸附剂及其制备方法和应用.pdf 基于双相离子溶液的高效碳捕集及节能再生装置.pdf 基于水合物法低温液化的高效碳捕集系统及其操作方法.pdf 碳捕集系统及方法.pdf 高…

Feign远程调用,请求头丢失情况

现象 解决方案 import feign.RequestInterceptor; import feign.RequestTemplate; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.context.request.RequestContextHolde…

一篇文章说清楚Filter(过滤器)、Interceptor(拦截器)和AOP(切面儿)

文章目录 前言一、Filter(过滤器)1.说明2.实现filterChain.doFilter() 3.order优先级4.解决跨域5.拦截返回错误信息JSON 二、Interceptor(拦截器)1.说明2.实现preHandlepostHandleafterCompletion 3.执行顺序图4.排除特定路径拦截…

C#/.NET/.NET Core编程技巧练习集

DotNet Exercises介绍 DotNetGuide专栏C#/.NET/.NET Core编程常用语法、算法、技巧、中间件、类库练习集,配套详细的文章教程讲解,助你快速掌握C#/.NET/.NET Core各种编程常用语法、算法、技巧、中间件、类库等等。 GitHub开源地址:https://…

MedCLIP:CLIP + 医学语义匹配策略,解决模型误将不同患者同病症视为不相关

MedCLIP:CLIP 医学语义匹配策略,解决模型误将不同患者同病症视为不相关 提出背景流程图解法拆解子解法1:知识提取子解法2:视觉和文本编码器子解法3:语义匹配损失 提出背景 论文:https://arxiv.org/pdf/22…

【SkiaSharp绘图15】SKPath属性详解:边界、填充、凹凸、类型判断、坐标、路径类型

文章目录 SKPath 构造函数SKPath 属性Bounds 边界(宽边界)TightBounds紧边界FillType填充方式IsConcave 是否凹/ IsConvex 是否凸IsEmpty是否为空IsLine是否为线段IsRect是否为矩形IsOval是否为椭圆或圆IsRoundRect是否为圆角矩形Item[] 获取路径的坐标LastPoint最后点的坐标Po…

JavaScript——while类型

目录 任务描述 相关知识 while类型 编程要求 任务描述 质数的定义如下:大于1的自然数,且除了1和本身外没有别的因数。如2、3、5、7。 本关任务:利用循环结构求质数的和。 相关知识 在选择结构中,条件会被测试一次&#xff…

第一百四十三节 Java数据类型教程 - Java Boolean包装类

Java数据类型教程 - Java Boolean包装类 布尔类的对象包装一个布尔值。 Boolean.TRUE和Boolean.FALSE是布尔类型的两个常量,用于表示布尔值true和false值。 我们可以使用构造函数或valueOf()工厂方法创建一个布尔对象。 当解析字符串时,此类将处理“t…

复现centernet时,报错RuntimeError: CUDA error: out of memory

运行 python test.py ctdet --dataset coco --exp_id coco_dla --load_model /root/CenterNet/exp/ctdet/coco_dla/model_last.pth --gpus 0 --test_scales 1 报错下面: RuntimeError: CUDA error: out of memory明明显存是够用的 解决办法: 找到自己…

RK3568平台(opencv篇)ubuntu18.04上安装opencv环境

一.什么是 OpenCV-Python OpenCV-Python 是一个 Python 绑定库,旨在解决计算机视觉问题。   Python 是一种由 Guido van Rossum 开发的通用编程语言,它很快就变得非常流行,主要是 因为它的简单性和代码可读性。它使程序员能够用更少的代码行…

LVS-DR负载均衡

LVS-DR负载均衡 LVS—DR工作模式 原理 客户端访问调度器的VIP地址,在路由器上应该设置VIP跟调度器的一对一的映射关系,调度器根据调度算法将该请求“调度“到后端真实服务器,真实服务器处理完毕后直接将处理后的应答报文发送给路由器&#xf…

[Redis]哨兵机制

哨兵机制概念 在传统主从复制机制中,会存在一些问题: 1. 主节点发生故障时,进行主备切换的过程是复杂的,需要人工参与,导致故障恢复时间无法保障。 2. 主节点可以将读压力分散出去,但写压力/存储压力是无法…

二、基础—常用数据结构:列表、元祖、集合、字典、函数等(爬虫及数据可视化)

二、基础—常用数据结构:列表、元祖、集合、字典、函数等(爬虫及数据可视化) 1,字符串2,最常用的是列表(重点掌握)3,元组4,字典(重要)5&#xff0…