产生的问题
今天在学习Spring Boot的时候,因为要经常的反复修改类、页面等改动性频率大的资源,而且每次修改过后都要重新启动web项目才能生效,这样每次都要操作一次重启都很麻烦,同时很浪费时间。
期望结果
上述的问题,在我们开发中是极大地浪费时间的,所以我们希望能够达到每次修改后,IDEA都能够自己重新部署,这样我们就能不重启也能生效。
实现方法
为了能够缩短没有必要浪费的时间支出,而且能够很快的查看修改的效果,所以采用热部署的方式。
解决方法:
在pom.xml中添加如下的配置就能够实现这样的功能:
<!--热部署配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
这里的坐标没有注明其版本version标签。
<version></version>
是因为在项目的pom.xml中继承SpringBoot的起步依赖spring-boot-starter-parent。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
所以不用加上版本号,不过如果需要也可以加上version标签。
注意
如果已经添加了标签还是没有效果,那就是IDEA的原因了。出现这种情况,并不是热部署配置的问题,而是IDEA在默认的情况下是不会自动编译的,这时就要进行一些设置,如下图:
打开 Settings -> Compiler,并勾选 Build project automatically.
然后Shift+Ctrl+Alt+/,选择Registry.
勾选compiler.automake.allow.when.app.running,然后选择关闭。