FilerException: Attempt to recreate a file for type 错误

项目场景:

java17,springboot环境。idea开发软件


问题描述

例如:在使用mapstruct过程中,maven编译是没有问题的,但是使用IDEA运行就出现;可能是git拉取别人的项目运行发现错误。总是大概率是因为mapstruct导致映射问题


原因分析:

  1. IDE 缓存或文件冲突 MapStruct 在编译时会生成实现类(如 OAuth2OpenConvertImpl),当 IDE 缓存未清理或多次尝试生成同一文件时,会导致此错误。常见于 IntelliJ IDEA 与 Maven 编译行为不一致的场景

  2. MapStruct 插件缺失或版本问题 IntelliJ IDEA 默认可能未完全支持 MapStruct 的代码生成逻辑,导致处理器冲突。此外,MapStruct 版本不兼容也可能引发内部空指针异常。

  3. 编译器配置不一致 Maven 编译时配置的 Java 版本与 IDEA 的编译器设置冲突,导致生成代码时路径混乱


解决方案:

安装 MapStruct 插件

在 IntelliJ IDEA 中安装 MapStruct Support 插件(插件市场搜索 "MapStruct Support" 并安装)。该插件能优化 MapStruct 的代码生成逻辑,避免文件冲突 

清理并重建项目

  1. 执行 mvn clean 清理旧编译文件。
  2. 在 IDEA 中依次点击 File > Invalidate Caches / Restart,选择 Invalidate and Restart 清理缓存。
  3. 重新编译项目(mvn compile 或 IDEA 中的 Build Project)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值