一、写在前面
很多时候我们都会遇到这个异常,我的场景是与mybatis有关,若看客不是此类情形,仅做参考即可。
二、异常提示
Caused by: java.lang.NoSuchFieldError: ASSIGN_ID
at com.baomidou.mybatisplus.core.config.GlobalConfig$DbConfig.<init>(GlobalConfig.java:94)
at com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils.defaults(GlobalConfigUtils.java:63)
at java.base/java.util.Optional.orElseGet(Optional.java:369)
at com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean.buildSqlSessionFactory(MybatisSqlSessionFactoryBean.java:483)
at com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean.afterPropertiesSet(MybatisSqlSessionFactoryBean.java:444)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
三、异常解读
很明显,在启动项目时,项目初始化mybatis相关的类,没有加载到相关的属性值,点进查看源码如下:
继续查看涉及到的枚举值:
确实没有ASSIGN_ID的属性。
于是就有了思路,大概率是依赖包版本不一致引起的,遂做依赖包版本升级,操作如下:
四、启动验证
再次启动项目,果然启动成功,
查看源码,新的依赖包里,也有了先关的枚举值。
五、总结
看看报错类的包版本!!!