JRebel 插件实现热部署xml不生效的问题

结语

不废话,在你插件正确安装,java文件可以热更新的情况下,仅仅是xml没有更新,那么观察class下xml有没有随源文件变化,如果有,Ctrl+F9手动编译, 直接请求接口,控制台输出 Reloading SQL maps 即为正确。

一,下载安装JRebel

低版本和spring5不兼容,和mybatis-plus也有冲突。

直接下载最新版本插件 这两个都要  点此激活

记得安装好后设置切换为离线模式,以防更新失效,激活地址也提供无限试用模式。

二,修改编译设置 添加xml文件    !?*.xml

其实这个自动构建项目 个人感觉是没用的  ,因为写了仅在不运行时构建,很奇怪。有用的是xml

三,修改JRebel设置  自动编译 但不是即时生效

四,选中需要热更新的模块,左侧按钮是本地,右侧是远程。

这个应该要选完整 ,跟你启动项目所需的模块和依赖关系是一致的。

 五,JRebel Debug启动,java的热更新已经可以使用了

此时改动java文件控制台输出Reloading class   但是xml没有生效

六,要不  按Ctrl+F9试试?

其实到这里,我就已经去class目录看过编译后的同名xml,已经跟着在变化了,我全都注释了,但还是没有生效,看了很多配置,同事明明什么插件也没装,就按个Ctrl+F9 就说xml不用重启。

实在没办法了 乱按个Ctrl+F9 ,手动构建,再请求接口,控制台才输出sql变化,后面发现不按的话大概十多秒,自动输出 Reloading SQL maps ,可能是上面配置的JRebel automatic生效了,但是没有时间配置选项。

七,废话

我推测,比较关键的是上文中的 编译加入xml文件类型选项,文件改动被加入class目录,然后手动构建使其重载到程序内存。

也就是说,你正常按照网上的图文安装完两个插件,编译设置加入xml,在项目正常启动的情况下,用JRebel Debug启动项目,观察class目录下的xml是否跟着变化,如果有变化,Ctrl+F9,访问接口,就会看到xml更新了。

因为折腾的关系,没有去重新安装验证,期间也弄了很多犄角旮旯的配置,但是我觉得不关键,class中xml的变化在我安装完后就验证了。如不能解决,请继续加油。此处仅提供一个方向。

已验证。

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值