IDEA+SpringBoot实现热部署(代码修改后实时生效)(hot reload/live reload)

1. 修改pom.xml

  • 在project->dependencies下添加spring-boot-devtools依赖
  • 在project->build->plugins下添加spring-boot-maven-plugin插件
    具体样例如下:
<project >
    ...
    <dependencies>
        ...
        <!--添加热部署-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
            <scope>true</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <!--热部署配置-->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--fork:如果没有该项配置,整个devtools不会起作用-->
                    <fork>true</fork>
                </configuration>
            </plugin>
            ...
        </plugins>
    </build>

</project>

2. 在设置界面中Compiler下,勾选“Build project automatically”

3. 按下快捷键 (Windows: ctrl + shift + alt + / , Mac: command(⌘)+shift(⇧)+option(⌥)+/),选择Registry...,勾上 compiler autoMake allow when app running


4. 重启ide,运行springboot工程.后续修改内容后,就会自动更新了.

### 如何实现 HTML 文件修改后网页自动更新 为了使 HTML 文件在修改之后能够即时反映到浏览器中而不需要重新编译,可以采取以下几种方式: #### 1. **禁用浏览器缓存** 浏览器通常会对静态资源(如 HTML、CSS 和 JavaScript)进行缓存以提高加载速度。如果缓存未被清除,则即使源文件已更改,浏览器仍会显示旧版本的内容。 可以通过设置开发者工具中的网络选项来禁用缓存: - 打开 Chrome 浏览器的开发者工具 (`F12` 或 `Ctrl+Shift+I`)。 - 转至“Network”标签页。 - 勾选“Disable cache (while DevTools is open)”选项[^2]。 此操作仅在开发者工具开启时有效,关闭后恢复默认行为。 --- #### 2. **IDE 配置:启用自动保存和热部署** 某些 IDE 提供了自动保存功能以及支持热部署的能力,这使得文件一旦发生变化就会同步到服务器上并刷新页面。 对于 IntelliJ IDEA 用户而言,默认情况下文件会被自动保存,但如果发现 JSP/HTML 更改无法实时生效,可能是因为缺少必要的配置项。具体做法如下: - 进入菜单栏路径:“File -> Settings -> Build, Execution, Deployment -> Compiler”,勾选“Build project automatically”选项[^1]。 - 如果使用 Tomcat 容器作为运行环境,还需确认其启动参数是否包含 `-Djrebel.enable=true` 或其他类似的增强型插件支持。 另外一种情况是 Maven 构建流程存在问题,导致每次都需要执行手动清理安装命令才能应用最新代码变更。此时可尝试调整项目的依赖范围或优化构建脚本逻辑[^3]^[]^4]。 --- #### 3. **利用 LiveReload 工具** LiveReload 是一款专门用于监控文件变动并触发浏览器重载的小型服务端程序。它的工作原理是对目标目录下的所有文件建立监听机制;当检测到任何改动时即刻通知前端完成相应动作——比如强制刷新当前浏览窗口。 安装步骤简单明了: ```bash npm install -g live-server live-server ./path/to/project/folder/ ``` 上述命令将会启动一个简易 HTTP Server 并持续跟踪指定位置内的文档状态变化。 --- #### 4. **采用现代框架内置的功能** 如果是基于 Vue.js、React 等现代化前端技术栈搭建的应用场景,则可以直接依靠它们各自提供的开发模式特性达成目的。例如 React Create App 中集成了 Webpack 开发服务器,具备 HMR(Hot Module Replacement) 功能,在保留组件局部状态的同时替换掉陈旧模块从而达到无缝切换的效果[^4]。 --- ### 总结 综上所述,针对不同需求可以选择合适的技术手段去解决问题。无论是通过基础层面的操作诸如取消缓存或是高级别的辅助软件运用都能很好地满足预期效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值