gpt4 book ai didi

java - Glassfish 上 mobicents SccpAddress 中的 NoSuchMethodError

转载 作者:行者123 更新时间:2023-12-01 05:36:15 27 4
gpt4 key购买 nike

org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: java.lang.NoSuchMethodError: org.mobicents.protocols.ss7.sccp.parameter.SccpAddress.<init>(Lorg/mobicents/protocols/ss7/indicator/RoutingIndicator;ILorg/mobicents/protocols/ss7/sccp/parameter/GlobalTitle;I)V

奇怪的是,我在开发机器上运行同一组 Mobicents Protocol JAR 库,但我在服务器上收到它。

导致问题的行是:

SccpAddress localAddress = new SccpAddress(RoutingIndicator.ROUTING_BASED_ON_DPC_AND_SSN, Controller.LOCAL_SPC, localGT, Controller.SSN_CAP);

并且与他们的测试用例中使用的非常相似。当我逐字尝试该行时,我收到了相同的错误。

当我尝试使用SccpAddressCodec中的解码方法时,我收到了相同的错误,具有有效的字节数组。

我使用的是 Mobicents SS7 协议(protocol)栈版本 1.0.0.CR1。

最佳答案

NoSuchMethoError 有六种左右不同的原因。当您针对 JAR 文件的 1.2 版本进行编译,然后针对 1.1 版本运行时,就会出现一种常见情况,并且这两个版本之间存在不兼容性。这可以通过最简单的调用来实现。

围绕接口(interface)的一些场景稍微复杂一些。一个类有可能(通过一些奇怪的路径)实现一个它不支持其所有方法的接口(interface),并在相同的代码中沿着路径 A 或路径 B 前进(使用相同的 JAR 文件) )可以引发或不引发该行为。这些都是需要解决的问题。

但我首先会查看两个环境中存在的 JAR 文件,看看它们是否不同。一般来说(也有异常(exception)),您应该始终尝试在编译环境中使用最旧/最低版本的 JAR 文件。 (当然,这是一个问题,因为编译环境总是倾向于拥有最新的东西。)

关于java - Glassfish 上 mobicents SccpAddress 中的 NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8152316/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com