MapStruct-plus cannot find converter from
废话不多,直接上
1 错误:
cannot find converter from
2 描述我的情况
我的项目分为2块,一块是接口,一块是实现
API接口(kintech-api-bo):
其中dto,req,res包含了@AutoMapper
实现(kintech-bo):
3 问题
当我的其他模块(kintech-crm),引用了kintech-api-bo时,
调用如下语句就会报错(cannot find converter from):
Req a = MapstructUtils.convert(dto,Req.class);
4 原因
归根结底,是由于扫描包的路径不一样 。
kintech-crm的扫描路径是:com.kintech.crm。
而api模块的路径是:com.kintech.bo。
这才导致没有扫描到。
5 解决方案
目前我想到的3个
① 由于我的模块名称高度相似,所以每个模块的启动项Application从原来的com.kintech.xxx,移到com.kintech下,这样启动Application时,会从com.kintech开始扫描。
② Application上注解改为
@SpringBootApplication(scanBasePackages = {"com.helka"})
③ 直接调用mapstruct生成的方法
aDtoTobReqMapper.convert(aDto,bReq);