Vaadin前端编译出现Recursion in resolving错误如何分析调试?
Vaadin开发模式前端编译报错处理说明
VaadinDevmodeGizmo的作用
VaadinDevmodeGizmo是Vaadin框架开发模式下自带的前端调试组件,仅在DEBUG模式下加载,会在页面侧边显示调试入口,支持查看运行日志、路由信息、热重载状态等调试数据,生产环境构建时会自动移除,不会进入正式包。
报错根因
本次出现的Recursion in resolving错误,是webpack解析前端入口文件时找不到对应资源触发的路径递归异常。Vaadin启动时会自动生成VaadinDevmodeGizmo.js、入口脚本、index.html三类文件到target目录,生成流程失败后webpack找不到对应文件就会抛出这类报错,和业务代码无直接关联。
调试解决步骤
- 清理所有自动生成的临时资源:删除项目根目录下的
target文件夹、node_modules文件夹、package-lock.json/yarn.lock依赖锁文件、.vaadin缓存文件夹 - 重新执行构建:Maven项目运行
mvn clean install -DskipTests,Gradle项目运行gradlew clean build,触发Vaadin重新拉取前端依赖、生成所需的自动文件 - 检查配置改动:如果此前修改过
webpack.config.js、或是调整过Vaadin的前端资源路径配置,需确认配置的路径和Vaadin生成文件的路径一致 - 验证Node.js版本:确保本地安装的Node.js版本匹配当前使用的Vaadin版本要求,版本不兼容也会导致文件生成失败
- 手动兜底方案:如果以上步骤仍未解决,可将
target目录下自动生成的index.html和index.ts手动复制到src/main/frontend目录下,再重启应用即可跳过自动生成流程。
内容的提问来源于stack exchange,提问作者mmo
相关产品推荐
相关产品推荐

