[求助] Java 快速开发阶段的 auto reload
俺记得 node 有那种 auto reload 的机制,就是你修改了源代码后,自动更新服务。
俺想了解一下,java 有没有类似的东西和方法,俺想加快前期迭代速度,
俺记得 node 有那种 auto reload 的机制,就是你修改了源代码后,自动更新服务。
俺想了解一下,java 有没有类似的东西和方法,俺想加快前期迭代速度,
俺找到一种很方便的方法了。
第一步:启动服务的时候使用 debug (或 attatch 远程的)
第二步:本地修改,如修改了 3 个文件
第三步:idea Build -> Build Project,为了方便可以设置一个快捷键,此时 idea 会重新 compile 并 reload 的有改动的文件,不管是本地启动还是远程 debug 的。
第四步:done
以上不需要任何插件,依赖,配置
要解决这个问题还是需要 JRebel(要钱)或者 DCEVM(开源),他们补充了 Hot-Reloading,能够在修改了方法参数等等的时候 Reload,同时带了插件,能够计算 Reload 这个 class 之后还要做哪些活
当然有些时候还是有问题,就只能重启
不过现在 Java 大部分都是 microservice 那一套,启动没几秒钟,不像十年前全是启动好几分钟的重型应用,对 reloading 的需求没有那么强
今天俺试了一下 Jdk 的 hot-reloading, 确实功能有限。JRebel 也要钱,而且感觉不太明白原理,所以也不太想用。
现在还是使用 jenkins 来自动部署了,虽然有些麻烦,忍了。
spring-devtool 不知为啥,修改源码后要过十几秒才自动重启,感觉也不方便
https://github.com/develon2015/node-dev-server
这是我基于 webpack 做的 Node 开发工具,依赖文件被修改就会自动重启,很好用,还支持 electron-main