报错信息
Caused by: java.lang.ClassCastException: java.time.LocalDateTime cannot be cast to java.lang.String
查看源码位置
代码片段如下
Object tmpDateExecuted = rs.get("DATEEXECUTED");
Date dateExecuted = null;
if (tmpDateExecuted instanceof Date) {
dateExecuted = (Date)tmpDateExecuted;
} else {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
dateExecuted = df.parse((String)tmpDateExecuted);
} catch (ParseException var24) {
}
}
通过debug
得出结论
高版本(我这里用的8.0.30)的mysql驱动包返回的dateExecuted类型为LocalDataTime,在强转为String的时候报错
解决方法
切换版本为8.0.22
至此,启动成功
需要注意的是:8.0.22版本及以下存在这两个漏洞:
CVE-2021-2471 和CVE-2022-21363,自己要做好取舍