You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vaadin 14热重载插件如何在网页启用 切换Java版本后失效怎么恢复

Vaadin 14 热重载功能原理与恢复方案

一、Vaadin热重载插件网页端启用逻辑

  • Vaadin 14 开发模式下会自动向前端页面注入LiveReload客户端脚本,该脚本会与spring-boot-devtools启动的后端LiveReload服务建立WebSocket长连接
  • 后端检测到类文件、静态资源、Vaadin前端模板变更且构建完成后,会通过WebSocket向前端推送刷新信号,页面收到信号后自动完成重载,无需手动操作
  • 脚本注入逻辑仅在两个条件同时满足时触发:一是Vaadin处于开发模式(生产模式开关关闭、包白名单配置正确),二是spring-boot-devtools的LiveReload功能处于启用状态

二、热重载功能恢复步骤

1. 清理跨JDK版本遗留构建缓存

切换JDK版本后旧编译产物会导致开发模式识别异常,优先执行全量清理:

  • Maven项目执行命令:mvn clean install
  • Gradle项目执行命令:./gradlew clean build
  • 额外删除项目根目录下的node_modules文件夹、package-lock.json/yarn.lock依赖锁文件,以及target(Maven)或build(Gradle)目录下的所有临时文件

2. 校验开发模式配置

检查application.properties或application.yml中是否包含以下正确配置:

vaadin.productionMode=false
spring.devtools.livereload.enabled=true
vaadin.whitelisted-packages=你的项目根包名(例如com.example.demo)

3. 刷新IDE运行配置缓存

IDE会残留旧JDK的运行参数,需要手动修正:

  • 打开项目的运行/调试配置,确认运行时使用的JDK版本为Java 11,排除Java 8配置残留
  • 重启IDE后重新启动项目,启动时检查控制台是否输出LiveReload server is running on port 35729、Starting Vaadin in development mode两类日志

4. 排查浏览器拦截问题

广告拦截、脚本拦截类浏览器插件可能会拦截端口为35729的WebSocket连接:

  • 暂时禁用相关插件后刷新页面,打开F12开发者工具的控制台标签,确认是否有LiveReload connected的日志输出

内容的提问来源于stack exchange,提问作者jeje

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 18:09:02