使用Live Reload在IntelliJ Idea和Chrome实时编译部署和调试


开发人员最重复的任务之一是在我们每次进行更改时都需要重新编译和重新部署应用程序。因此,顺应了让程序员的生活更轻松的趋势,Spring Boot 提供了一些工具可以让您自动执行此操作。
第一件事是我们需要包含 DevTools 依赖项。在使用 Maven 的情况下,它将合并 pom.xml:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
   <scope>runtime</scope>
   <optional>true</optional>
</dependency>

如果我们以通常的方式启动应用程序:
mvn spring-boot:run

你应该在应用程序的启动日志中看到一个类似以下的新行:
INFO 947101 - [restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload服务器在35729端口运行。

我们可以看到,我们已经启动了一个新的端口35729,允许我们通过websocket访问它,以沟通我们的浏览器和应用程序,当应用程序被重新编译时,强制浏览器重新加载。

要在IntelliJ Idea项目打开的情况下做到这一点,请进入
 File->Settings->Build, Execution, Deployment -> Compiler,在自动构建项目的复选框上 Build project automatically做勾选。
此外,我们必须在File->Settings->Advanced Settings 中勾选: Allow auto-make to start even if developed application is currently running
 
如果我们通过停止应用程序并再次运行它来重启应用程序。
现在,在应用程序中做任何修改,到浏览器中重新加载页面,你会看到很快页面将不可用,因为它将重新加载应用程序,但很快页面将反映出新的变化。
 
适用于Chrome的LiveReload
为了促进这一过程,我们可以利用Chrome扩展程序Live Reload