class java.time.LocalDateTime cannot be cast to class java.util.Date
现象:
采样springboot 2.3.11.RELEASE + liqubase 是报错
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.LockException: java.lang.ClassCastException: class java.time.LocalDateTime cannot be cast to class java.util.Date (java.time.LocalDateTime and java.util.Date are in module java.base of loader 'bootstrap')at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524)at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:769)at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761)at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426)at org.springframework.boot.SpringApplication.run(SpringApplication.java:326)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1313)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1302)at net.iconomi.core.IconomiCoreApplication.main(IconomiCoreApplication.java:39)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:566)at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)at org.springframework.boot.loader.Launcher.launch(Launcher.java:107)at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
Caused by: liquibase.exception.LockException: java.lang.ClassCastException: class java.time.LocalDateTime cannot be cast to class java.util.Date (java.time.LocalDateTime and java.util.Date are in module java.base of loader 'bootstrap')at liquibase.lockservice.StandardLockService.listLocks(StandardLockService.java:404)at liquibase.lockservice.StandardLockService.waitForLock(StandardLockService.java:225)at liquibase.Liquibase.lambda$update$1(Liquibase.java:220)at liquibase.Scope.lambda$child$0(Scope.java:160)at liquibase.Scope.child(Scope.java:169)at liquibase.Scope.child(Scope.java:159)at liquibase.Scope.child(Scope.java:138)at liquibase.Liquibase.runInScope(Liquibase.java:2370)at liquibase.Liquibase.update(Liquibase.java:217)at liquibase.Liquibase.update(Liquibase.java:203)at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:321)at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:275)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1845)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782)... 26 common frames omitted
Caused by: java.lang.ClassCastException: class java.time.LocalDateTime cannot be cast to class java.util.Date (java.time.LocalDateTime and java.util.Date are in module java.base of loader 'bootstrap')at liquibase.lockservice.StandardLockService.listLocks(StandardLockService.java:396)... 39 common frames omitted
原因
DATEEXECUTED字段在数据库中为timestemp类型,当使用的数据库驱动包版本较新时(这里使用的是8.0.23)返回的类型为LocalDateTime,强转为string导致报错.
解决方案一
修改驱动包版本到8.0.19,服务正常启动
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.19</version><exclusions><exclusion><groupId>com.google.protobuf</groupId><artifactId>protobuf-java</artifactId></exclusion></exclusions></dependency>
参考:https://blog.csdn.net/Reentrant_Lock/article/details/116200821
解决方案二
将liqubase版本升级值4.3.2以上
参考:https://github.com/liquibase/liquibase/issues/1749
class java.time.LocalDateTime cannot be cast to class java.util.Date相关推荐
- 解决Java ,class java.lang.String cannot be cast to class java.lang.Integer
@[TOC](解决 java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Int ...
- java.lang.Integer connot be cast to class java.lang.String
java.lang.Integer connot be cast to class java.lang.String: Integer类型不能转成String类型,原因是map对象添加数据中存在Int ...
- 已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String异常的
已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String异常的 ...
- 已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Long异常的正确
已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Long异常的正确 ...
- java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String
具体错误:java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String ...
- 【异常】java.lang.Integer cannot be cast to java.lang.String
目录 目录 一.问题描述 二.问题分析 1/ 2 关于BootStrapLoader的问题 2 / 3 java.lang.Integer cannot be cast to java.lang.St ...
- java localdate mysql_mysql – 带有Java 8 LocalDateTime的Spring Data JPA
我最近几个月一直在使用Spring Data JPA和MYSQL,这是一次非常成功和顺畅的体验.在那里我使用java 8 LocalDateTime来存储日期时间字段,JPA自动将这些字段映射到mys ...
- java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer
java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer 1.改sql select ...
- ArrayMap java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Object[]
错误堆栈: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Object[]at android. ...
最新文章
- python 计算文件的MD5
- linux中典型文件档案分析
- 精灵动画Animation对话框组成Idle动画的各精灵
- oracle服务未启动失败,windows服务未启动导致 ORA-12560和RMAN-00554错误 | 信春哥,系统稳,闭眼上线不回滚!...
- 超声波测距仪编程_超声波测距仪参考(含原理图程序)
- [转]动态加载jar文件
- Intellij Idea系列之导Jar包与编写单元测试(二)
- Twproject Gantt – 开源的 JavaScript 甘特图组件
- ACM 学习笔记(三) 数学入门
- android+浮层布局,如何使用Android实现单页面浮层可拖动view
- LAIC2022司法人工智能挑战赛 - 司法文本小样本多任务Baseline
- 自动化测试面试题整理出炉附答案,建议收藏
- TeamView 无法捕捉画面问题的解决办法
- google之Thumbnails图片等比压缩,保持图片清晰
- 第一次向git.oschina.net提交项目
- C++:函数重载:函数重载深入解析
- redis设置可远程访问
- utorrent android,utorrent手机安卓版
- 【量化投资】策略一(聚宽)
- 【老卫搞机】135期:华为开发者联盟社区2022年牛人之星奖品开箱!
热门文章
- macOS Big Sur升级后Parallels Desktop提示“无法启动 Parallels Desktop,因为您的 Mac 操作系统缺少一些必需组件。”
- C++普通继承和虚继承详解
- Python---元组---字典---集合
- ubuntu查看cuda、cudnn版本
- 新浪微博最新 SDK 编程思路
- 【Discuz】去除以管理员身份登录之后,右下角应用更新提醒的方法
- python画小动物_Python学习之print打印十二生肖
- 天使在人间——恩雅个人资料
- Python +酷Q机器人开发QQ群 机器人
- 车机一体化的未来时代,魅族还能靠“卖身”求变?