IDEA 中 debug 项目时修改了 mapper.xml 如何优雅的更新?

2020-05-11 17:42:40 +08:00
 djzhao

各位 Ver,IDEA 中 debug 时怎么使修改过的 mapper.xml 文件立即生效,有没有类似 recompile 当前类的这种操作。 另:update resources 并不会生效。

3009 次点击
所在节点    程序员
17 条回复
x940727
2020-05-11 17:45:11 +08:00
Ctrl+Shift+F9
djzhao
2020-05-11 17:46:47 +08:00
@x940727 这是“Recompile”,对 xml 不生效,对类文件生效
TtTtTtT
2020-05-11 17:53:52 +08:00
挺复杂的,从原理上,既要 IDEA 能优雅的把 mapper.xml 更新到对应的位置,又要让解析配置文件的库支持动态加载。
Java 是有 Instrumentation 机制的,其他的软件或者库有没有这个能力就要看看了。
aragakiyuii
2020-05-11 18:00:48 +08:00
我记得 jrebel 可以
jorneyr
2020-05-11 18:10:14 +08:00
JRebel 可以自动更新修改过的资源文件
djzhao
2020-05-11 18:23:34 +08:00
@aragakiyuii 谢老铁,那得安装 jrebel,还是收费的 想看看有没有 idea 现成方案
djzhao
2020-05-11 18:25:41 +08:00
@jorneyr 是的,不过不知 idea 能不能只手动更新某些文件
gejun123456
2020-05-11 18:27:17 +08:00
jrebel 或者 springboot 的自动重启
djzhao
2020-05-11 18:28:57 +08:00
@TtTtTtT 谢老铁提供思路,看来没有直接更新的快捷方式
djzhao
2020-05-11 18:30:35 +08:00
@gejun123456 想问的是手动更新,因为不是所有修改的文件都想它立即生效,项目太大又不想重新启动
gejun123456
2020-05-11 19:44:52 +08:00
@djzhao #10 写 testcase 吧,testcase 很快就能跑好 https://gejun123456.github.io/MyBatisCodeHelper-Pro/#/quicktestsql
WispZhan
2020-05-11 22:06:47 +08:00
你需要的是 TDD,而不是手动 debug 整个项目。
djzhao
2020-05-12 06:00:26 +08:00
@WispZhan 改 bug 总得 debug 吧
endy
2020-05-12 10:04:57 +08:00
我用的 plus 自带 xml 热加载.后来 plus 新版本屏蔽并删除了 热加载的代码,遂修改之,再次可以热加载。
fumichael
2020-05-12 10:15:20 +08:00
为什么我设置了 update resources and classes 就可以了,难道我是有那个 devtools 的依赖?
不过我现在都已经使用 jrebel 了
djzhao
2020-05-12 18:24:29 +08:00
@endy 不理解,我现在用的版本没法更新
djzhao
2020-05-12 18:25:43 +08:00
@fumichael 没用 devtools,而且是 ssm 的老项目

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/670642

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX