出错背景:
【工具及依赖使用|java.lang.NoSuchMethodError: getUserId()Ljava/lang/Long;】项目要重新构建人员组织机构关系,从之前的一对多改为多对多,用户不再保存机构外键,并且用户id也从自增Long变为了String。
领导让我先把登录功能实现,因为前端登录和获取信息的接口连接的端口已经被打包成源码作为依赖了,我只有一天多的时间,所以考虑直接源码替换。
我把涉及到的源码反编译后把相关的代码弄到项目里面,因为是小部分,排除不便,所以直接使用原包名的方式让其自动替换。
结果,
文章图片
,权限,日志,即时通讯等等都涉及到了,即时通讯还不停的发错误的wbsocket,
文章图片
!
然后,这个错误就出现了
java.lang.NoSuchMethodError: XXXXXXXXXXX getUserId()Ljava/lang/Long;
其本质原因还是因为我替换了用户表的id数据类型,而引过来的代码还是有部分没有引全,所以导致部分功能仍然在使用源码中的相关类,比如UserDetail类。
解决办法:
什么报错就接着引什么,简单粗暴很有效!
推荐阅读
- 第五节:SpringBoot常用注解介绍
- 第四节:SpringBoot中web模版数据渲染展示
- SpringBoot2022【草稿】
- 聊聊springboot项目全局异常处理那些事儿
- 第一节:创建SpringBoot项目并运行HelloWorld
- springboot管理系统[基于员工角色和文件权限的分级的后台管理系统源码]
- Integer常量池结合源码解析
- Java基础|Java 打印空心等腰三角形(方法2)
- SpringBoot之@ComponentScan和@SpringBootApplication扫描覆盖问题
- mybatis|记mybatis查询null字段导致的NPE