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

仅以基本类型为源使用MapStruct时编译报错问题排查

问题分析与解决方案

这是MapStruct 1.5.2.Final版本的已知Bug:当映射方法的入参全为基本数据类型(如int),且返回值是使用@Value注解的不可变类时,MapStruct错误地尝试生成null值检查逻辑,但基本类型不存在null的情况,最终生成了空的if () {}代码块,导致编译失败。

解决方法

方法一:升级MapStruct版本

将MapStruct依赖升级到1.5.3.Final或更高版本,该版本已经修复了这个基本类型映射的null检查错误。

方法二:手动实现映射逻辑(不升级版本时)

在CompanyMapper接口中添加default方法,手动完成对象创建,绕过MapStruct的自动生成逻辑:

@Mapper
public interface CompanyMapper {

    default CompanyDto mapToDto(int id, int accountId) {
        return new CompanyDto(id, accountId);
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 20:45:31