Liubsyy / HotSecondsIDEA

HotSeconds是一款Java远程热部署的插件,可实现秒级一键化热更新。插件分为HotSecondsClient(IDEA热部署插件)和HotSecondsServer(服务端javaagent热更新插件),理论上来说可以热更新任何文件(java/xml/html/css/js等),也支持常用框架(Spring,MyBatis)的热更新,可以节省大量的传统部署java项目的时间。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ERROR classReload()怎么处理呢

qq852660058 opened this issue · comments

热部署功能都正常,服务器端日志有异常,顺便问一下jar启动的项目mybatis的xml文件如何热加载,远程目录填写jar同级目录吗,试了一下有异常热加载不到,扩展插件以配置

HOTSECONDS: 07:11:44.633 INFO []热更新类:jnpf.controller.ContractController,size=4438
HOTSECONDS: 07:11:44.633 RELOAD Reloading classes [jnpf.controller.ContractController] (autoHotswap)
HOTSECONDS: 07:11:44.634 ERROR classReload() exception No such field java.beans.Introspector.declaredMethodCache on null.
HOTSECONDS: 07:11:44.634 ERROR classReload() exception class java.io.ObjectStreamClass$Caches$1 cannot be cast to class java.util.Map (java.io.ObjectStreamClass$Caches$1 and java.util.Map are in module java.base of loader 'bootstrap').
HOTSECONDS: 07:11:44.634 ERROR flushClassInfoCache() exception Unable to make field private static final com.sun.beans.util.Cache com.sun.beans.introspect.ClassInfo.CACHE accessible: module java.desktop does not "opens com.sun.beans.introspect" to unnamed module @1c4af82c.
HOTSECONDS: 07:11:44.839 INFO 热部署jnpf.controller.ContractController成功

有没有交流群啥的,有问题不太好交流哦

这个报错是java9以上的模块化限制导致,添加jvm参数--add-opens java.desktop/com.sun.beans.introspect=ALL-UNNAMED即可。另外mybatis热更新主要靠的是上传文件后触发刷新缓存的逻辑,所以只要随便上传个地方就能触发。交流群过段时间可以考虑建一个,但是我不一定会时时刻刻去盯着消息,效果和建issue差不了多少。

@Liubsyy 热部署mybatis的xml ide返回成功,日志里报错了
image

这个异常可以忽略,你看看生效没

@Liubsyy 生效了谢谢