目前,当更改Java类时,必须一次又一次地重新启动Spring-Boot应用程序。 这非常耗时并且减慢了开发速度。
所以,我正在寻找一种方法来立即将更改传播到类,而无需重新启动应用程序。
像JRebel这样的东西。
答案 0 :(得分:2)
是的,可以使用DCEVM类hotswapper代理:https://dcevm.github.io/
安装: 1)从上面给出的页面下载jar。
2)使用命令运行jar:
java -jar DCEVM-8u144-installer.jar
点击“将DCEVM安装为altjvm” (如果此处显示多个JVM,则选择应用程序启动时使用的JVM。)
3)下载Hotswap代理: https://github.com/HotswapProjects/HotswapAgent/releases JAR 把它放在某个地方,例如在JDK目录中。
4)在日食中>润GT;运行配置> Java应用程序> YourApp:
添加到“VM Arguments”
-XXaltjvm=dcevm -javaagent:c:\env\jdk-1.8u151\hotswap-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.
答案 1 :(得分:0)
Spring Boot文档,有一个whole section on the topic。你可以试试Devtools,如果它足够坚持。但是,正如文档所述,它可能就足够了,您可能会考虑使用Spring Loaded或JRebel。