// 过滤抽完的奖
List<Integer> integerList = sCouponPoolPrizeList.stream().map(SCouponPoolPrize::getCouponId).collect(Collectors.toList());
//莫名出错,直接跳到InvocationTargetException
final List<Integer> idsTemp = sCouponService.getCanLotteryCoupons(integerList, now);
在调用getCanLotteryCoupons方法的时候,debug跳到了InvocationTargetException中。
一开始不知道是什么意思,查询了百度可能是如下原因:
- 1、包冲突、有重复包或者缺少包
- 2、项目jdk和部署jdk版本不一样,导致InvocationTargetException异常信息返回一个空值,没有调用invoc里的重写消息方法。
- 3、映射文件发生改变
但是最后发现是找不到方法,原来是在注入sCouponService对象的时候没有使用@Autowired,导致方法找不到
private SCouponService sCouponService;