项目启动报错:Can‘t generate mapping method with primitive return type

开发环境

JDK17+SpringBoot+MybatisPlus+Mapstruct

问题描述

刚进入这个项目组,发现项目之前引入了Mapstruct依赖包但是没有用起来,我就想着自己给他用起来吧,写了个转换器接口,转换器接口如下:

import org.mapstruct.Mapper;

@Mapper(componentModel = MappingConstants.ComponentModel.SPRING)
public interface TeachConverter {
    TeachConverter INSTANCE = Mappers.getMapper(TeachConverter.class);
    ...
}

写好这个接口后,进行启动SpringBoot项目然后就报如下得错误:java: Can't generate mapping method with primitive return type.

在构建阶段就会报错,错误会有下这几个:

分析思路

这个一般是Mapstruct在进行genertate中出现得错误,但是我这里暂时只写了一个TeachConverter转换器接口,并没有他展示得错误,随机就开始各种排查,后续又通过mapstruct.Mapper全局搜索就发现了原有项目中的问题,很多该用ibatis下@Mapper注解得用成了mapstruct下的@Mapper

解决办法

既然主要原因是查询的xxxMapper类无意间引用了:import org.mapstruct.Mapper;

那就将所有查询的xxxMapper类引用正确的包:import org.apache.ibatis.annotations.Mapper;

所有查询类XxxMapper接口的引用包改下

// 错误引用
import org.mapstruct.Mapper;

// 改成正确的引用
import org.apache.ibatis.annotations.Mapper;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值