java.java.lang.NoSuchMethodError: org.bouncycastle.math.ec.ECFieldElement

java.java.lang.NoSuchMethodError: org.bouncycastle.math.ec.ECFieldElement_第1张图片

目录

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项目中的版本有冲突

java.java.lang.NoSuchMethodError: org.bouncycastle.math.ec.ECFieldElement_第2张图片

排除不需要的版本,在重新编译项目启动

2.2项目中某个包缺少bouncycastle依赖

java.java.lang.NoSuchMethodError: org.bouncycastle.math.ec.ECFieldElement_第3张图片

在子项目中确定引用缺失包的包,在对应子项目的pom文件引用这个bouncycastle包即可。我这里就是这个问题造成了,在run子项目有引用并且剔除了冲突的版本,但是在server项目并未添加bouncycastle依赖导致(主要是错认为run里的包是整个项目通用的,整个通用的包是在最外层的pom文件设置的)

总结

解决问题主要就是聚焦在这个提示缺失的包上,可能是包缺失,也可能是版本冲突。

参考

给个三连吧 谢谢谢谢谢谢了
在这里插入图片描述

你可能感兴趣的:(项目问题解决,活动专栏,java,开发语言,firebug,bug,服务器,网络,apache)