java.lang.NoSuchMethodError: getUserId()Ljava/lang/Long;

出错背景:

项目要重新构建人员组织机构关系,从之前的一对多改为多对多,用户不再保存机构外键,并且用户id也从自增Long变为了String。

领导让我先把登录功能实现,因为前端登录和获取信息的接口连接的端口已经被打包成源码作为依赖了,我只有一天多的时间,所以考虑直接源码替换。

我把涉及到的源码反编译后把相关的代码弄到项目里面,因为是小部分,排除不便,所以直接使用原包名的方式让其自动替换

结果,,权限,日志,即时通讯等等都涉及到了,即时通讯还不停的发错误的wbsocket,

然后,这个错误就出现了

java.lang.NoSuchMethodError: XXXXXXXXXXX getUserId()Ljava/lang/Long;

其本质原因还是因为我替换了用户表的id数据类型,而引过来的代码还是有部分没有引全,所以导致部分功能仍然在使用源码中的相关类,比如UserDetail类。

解决办法:

什么报错就接着引什么,简单粗暴很有效!

你可能感兴趣的:(工具及依赖使用,java基础,springboot,NoSuchMethod,Ljava/lang/Long,替换源码,变更数据类型,排除源码)