以前使用MyEclipse或Eclipse时,只要是用Debug启动,修改某个Java类的方法,注意:不能是修改方法签名,只能是方法的内容,只要保存,就能自动生效,不需要重启Tomcat或重新加载项目
最近的项目,使用了spring-tool-suite-4.6.0工具,外挂Tomcat8.5,开发基于SpringBoot的Web项目,
出现一个非常不爽的现象:
在修改一个方法内容保存后,项目自动加载了,由于项目较大,每加载一次,都要等将近两分钟的时间.
百度搜关键字:SpringBoot 热加载,能找到的,几乎全是这段:
<!--devtools热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
这么做,没发现任何意义,本来没加这段,修改Java文件后,Tomcat不重启,项目也能自动加载,
加了之后,修改Java方法的内容,仍然要重新加载项目.
今天无意中打开了服务器的Server.xml配置文件
在最后发现了一句:
<Context docBase="xe" path="/xe" reloadable="true" source="org.eclipse.jst.jee.server:xe"/></Host>
注意:reloadable="true",看到这个,简直是大快人心,直接改成reloadable="false"
马上做试验,Debug方式启动项目,修改其中一个Java方法的内容,保存,项目真的没有重新加载,代码也生效了,成功了!!终于不用忍受每次一保存就自动加载项目了
当然,修改方法签名,或者其它方法外的内容,项目还是要重新加载才能生效的.可以直接用鼠标菜单来Reload,不必每次改动一两个小错误,都要等待2分钟了!