java.lang.ClassCastException: java.lang.Integer cannot be cast to java.util.List

最近遇到了一个问题:

ERROR com.xxl.job.core.thread.TriggerCallbackThread - java.lang.Integer cannot be cast to java.util.List

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.util.List

         at com.xxl.job.core.thread.TriggerCallbackThread.retryFailCallbackFile(TriggerCallbackThread.java:233)

         at com.xxl.job.core.thread.TriggerCallbackThread.access$400(TriggerCallbackThread.java:24)

         at com.xxl.job.core.thread.TriggerCallbackThread$2.run(TriggerCallbackThread.java:111)

         at java.lang.Thread.run(Thread.java:745)

 

我的解决方案是修改工程的Java配置。如下图。

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.util.List_第1张图片

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.util.List_第2张图片

其实意思很明确,其实就是有一个类型的转换失败了,这个问题困扰了我很长的时间解决了大概有一个月左右的时间。

这期间看过xxl-job的文档好几遍,后来开始研究xxl-job的源码。都没有找到很关键的问题点究竟在哪里。

直到后来我从网上拉了一份新的代码以后放在idea里面跑的是时候消失了,问题就在这里,我看了一下代码基本上差不多,可能版本之间略有差异。

为什么我放在eclipse上面就不行了。而且是一个很基础的int到List的类型转换呢!并且同事们使用的时候也没有这个问题。我考虑过换一下盘符的问题,是不是我的权限太高,没有执行这个的权限呢?直到今天早上猛然想起来,可能最基本的转换也许是Java环境有问题,果不其然,我从svn上面新导入了项目以后,用的jdk配置一直工程默认的,直到我修改了jdk的路径和版本为为我当前的jdk1.8以后这个错误完全消失了,其实这个早就该想到的,只是过了这么长时间才顿悟过来。

你可能感兴趣的:(java基础,java)