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

Quarkus多模块项目热重载出现"找不到符号"异常求助

解决Quarkus多模块项目热重载"cannot find symbol"异常
  • 检查开发模式启动方式
    不要单独启动quick-start-rest模块的dev模式,而是在父项目根目录执行mvn quarkus:dev。Quarkus开发模式在多模块场景下需要感知整个项目的依赖关系,单独启动子模块可能无法实时同步其他模块的编译产物,导致找不到符号。

  • 确保依赖模块变更被编译
    如果你修改了quick-start-rest依赖的其他模块代码,需要确保变更被正确编译:

    • 开启IDE的自动编译功能(比如IntelliJ IDEA中开启「Build Project Automatically」);
    • 手动编译依赖模块:在对应模块目录执行mvn compile,或在父项目执行mvn compile;
    • 在父项目的application.properties中添加quarkus.dev.mode.watch-dependencies=true,让Quarkus自动监控依赖模块的源码变更并触发编译。
  • 清理编译缓存
    旧的编译产物可能干扰热重载,执行以下命令清理后重新启动dev模式:

    mvn clean
    mvn quarkus:dev
    

    同时可以检查IDE缓存目录(如IntelliJ的.idea)、Maven的target目录,确保没有残留的旧class文件。

  • 升级Quarkus版本
    部分旧版本的Quarkus在多模块热重载场景存在已知bug,无法正确追踪依赖模块的源码变更。建议升级到最新稳定版本,确认官方更新日志是否修复了相关热重载问题。

  • 检查热重载配置
    确认application.properties中的热重载配置无误:

    • 确保quarkus.dev.mode.watch没有排除依赖模块的源码目录,默认会监控所有源码目录,若自定义配置需包含依赖模块的src/main/java等路径;
    • 避免将quarkus.dev.mode.reload.trigger-file设置为过于严格的路径,导致依赖模块的变更无法触发重载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 03:57:22