JHipster compileJava任务执行时Filer提示尝试重建类型文件报错
问题诱因
- 该错误由Hibernate JPA静态元模型生成器重复创建同名类文件触发。你使用
jhipster-jdl重写实体后,之前编译阶段自动生成的带_后缀的元模型类(如Note_、User_)仍残留在项目的编译输出目录中。 - 你执行的
clean仅清空了数据库内容,没有清理项目编译产生的缓存文件,再次执行bootRun时,注解处理器会尝试根据最新实体重新生成元模型文件,和残留的旧文件产生冲突,最终启动失败。
解决方法
- 第一步:执行项目构建工具的全量清理命令
- 若你使用Gradle构建:执行
./gradlew clean(Windows系统执行gradlew.bat clean) - 若你使用Maven构建:执行
./mvnw clean
该命令会完整删除项目的build(Gradle)或target(Maven)目录,彻底清除旧的元模型残留文件。
- 若你使用Gradle构建:执行
- 第二步:若全量清理后仍存在报错,可手动删除项目根目录下的
.gradle、target、build缓存目录,避免异常残留文件影响。 - 第三步:重新执行启动命令即可正常运行:Gradle执行
./gradlew bootRun,Maven执行./mvnw。 - 额外优化:如果开发阶段需要频繁修改实体,可暂时关闭JPA静态元模型生成配置,等实体结构稳定后再开启,减少同类冲突出现概率。
内容的提问来源于stack exchange,提问作者Angelo Tricarico
相关产品推荐
相关产品推荐

