启动Vaadin应用时出现chokidar EBUSY错误,求解答
Vaadin启动时EBUSY错误的原因及解决办法
错误信息
启动应用时输出的日志:
2022-07-16 14:46:19.276 INFO 14076 --- [onPool-worker-1] c.v.b.devserver.AbstractDevServerRunner : Started Webpack. Time: 17866ms 2022-07-16 14:46:19.426 INFO 14076 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker : Issues checking in progress... 2022-07-16 14:46:20.173 INFO 14076 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker : Error from chokidar (C:\): Error: EBUSY: resource busy or locked, lstat 'C:\DumpStack.log.tmp'
相关代码片段:
@Route("") @JsModule("./register.js") public class RegisterView extends VerticalLayout { ........ }
原因分析
这个错误由chokidar(Vaadin开发服务器依赖的文件监听工具)触发:它意外将监听范围扩大到了C盘根目录,尝试访问其中的DumpStack.log.tmp文件时,该文件被其他进程占用或锁定,导致资源繁忙的错误。
解决办法
- 限制监听范围:检查Vaadin开发服务器配置,确保仅监听项目根目录及
frontend等核心资源目录,避免监听整个C盘。 - 释放占用文件:打开任务管理器,找到占用
C:\DumpStack.log.tmp的进程(可能是系统调试进程、第三方工具等),结束进程后重启Vaadin应用。 - 删除锁定文件:如果能直接删除
C:\DumpStack.log.tmp文件,删除后重新启动应用。 - 校验资源路径:确认
@JsModule引用的./register.js确实位于项目的frontend目录下,路径错误可能导致开发服务器误扩大监听范围。
内容的提问来源于stack exchange,提问作者Joseph
相关产品推荐
相关产品推荐

