当前,当更改Java类时,Spring-Boot应用程序必须一次又一次重新启动。这是非常耗时的,并减慢了发展。
所以,我正在寻找一种立即在不重新启动应用程序的情况下立即传播更改的方法。
类似Jrebel。
是的,这是可能的,使用DCEVM class hotswapper代理:https://dcevm.github.io/
安装:1)从上面给出的页面下载jar。
2)用命令运行jar: java -jar DCEVM-8u144-installer.jar
单击"安装DCEVM为AltJVM"(如果此处显示多个JVM,请选择应用程序启动使用的一个)。
3)下载热门代理:https://github.com/hotswapprojects/hotswapagent/releases jar并将其放在某个地方,例如在JDK目录中。
4)在Eclipse>运行>运行配置> Java应用程序> yourapp:
添加到" VM参数"
-XXaltjvm=dcevm -javaagent:c:envjdk-1.8u151hotswap-agent-1.1.0-SNAPSHOT.jar=autoHotswap=true
(更改C: env jdk-1.8u151 hotswap-agent-1.1.0-snapshot.jar带有您的路径)
完成
按应用程序开始,您可以在类似的控制台中看到:
HOTSWAP AGENT: 20:50:07.106 INFO (org.hotswap.agent.HotswapAgent) - Loading Hotswap agent {1.1.0-SNAPSHOT} - unlimited runtime class redefinition.
春季启动文档,该主题有整个部分。您可以尝试DevTools,并且是否足够坚持。但是,正如文档所述,它可能足够,您可以查看已加载的弹簧或Jrebel。