一:错误描述:

idea编译报错:
Can’t map property “java.lang.Integer addTime” to “java.util.Date addTime”. Consider to declare/impl

如图:

二:找不到解决办法原因:

1.idea未提示错误在哪:所以排查起来异常艰难
2.关键字百度查询 并未找到匹配问题

三:报错原因:

项目里用了mapStruct 会自动生成代码,两个实体属性名称相同的
但类型却不一致,导致编译生成代码时报错。


这就是问题所在 修改类型即可。

四:解决办法:

个人经验:
方法1:
从最近提交的代码里(或最后一次可以运行后提交的代码里): 找属性改动的类去排查(例如:我是addTime出错)就从最近改动的类里查找属性addTime。

方法2: 也是我此次排查到用的方法


从target包里找mapStruct 自动生成的最后一个包里的最后一个类
例如:我的是 user.mapping包 最后一个是UserTaskMapImpl

然后去代码里找到 发现BillMap 未生成

所以问题就出现在 BillMap 的生成上。 修改则解决!!

修改类型之后一定要 clean一下!!! 再编译和启动(或者直接build)
否则mapStruct 生成的类 不会重新编译 还是原来生成的文件 就会产生未生效的错觉!!!!

更多推荐

Can‘t map property “java.lang.Integer addTime“ to “java.util.Date addTime“. Cons