目录
Java运行时异常:行时找不到指定的方法
- 1.前言
- 2.原因
- 2.1项目中的版本有冲突
- 2.2项目中某个包缺少bouncycastle依赖
- 总结
- 参考
1.前言
java.lang.NoSuchMethodError:
org.bouncycastle.math.ec.ECFieldElement$Fp.(Ljava/math/BigInteger;Ljava/math/BigInteger;)
java.lang.NoSuchMethodError 是一个Java运行时异常,表示在运行时找不到指定的方法。在这种情况下,报错信息指出无法找到 org.bouncycastle.math.ec.ECFieldElement$Fp 类的构造函数 Fp,该构造函数接受两个 java.math.BigInteger 类型的参数
这种错误通常发生在编译时使用了一个版本的库,而在运行时使用了另一个版本的库,导致方法签名不匹配。可能的原因是您的代码和运行环境中使用的 org.bouncycastle 库的版本不一致。
2.原因
2.1项目中的版本有冲突
排除不需要的版本,在重新编译项目启动
2.2项目中某个包缺少bouncycastle依赖
在子项目中确定引用缺失包的包,在对应子项目的pom文件引用这个bouncycastle包即可。我这里就是这个问题造成了,在run子项目有引用并且剔除了冲突的版本,但是在server项目并未添加bouncycastle依赖导致(主要是错认为run里的包是整个项目通用的,整个通用的包是在最外层的pom文件设置的)
总结
解决问题主要就是聚焦在这个提示缺失的包上,可能是包缺失,也可能是版本冲突。
参考
给个三连吧 谢谢谢谢谢谢了