Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.AbstractMethodError:当我尝试使用nexmo(vonage)API启动出站语音呼叫时,出现此异常_Java_Spring Mvc_Nexmo_Abstractmethoderror - Fatal编程技术网

java.lang.AbstractMethodError:当我尝试使用nexmo(vonage)API启动出站语音呼叫时,出现此异常

java.lang.AbstractMethodError:当我尝试使用nexmo(vonage)API启动出站语音呼叫时,出现此异常,java,spring-mvc,nexmo,abstractmethoderror,Java,Spring Mvc,Nexmo,Abstractmethoderror,所有相关依赖项的My pom.xml。没有其他依赖项在内部使用以下依赖项 com.fasterxml.jackson.core 杰克逊数据绑定 2.9.9 com.sparkjava 火花芯 2.6.0 com.vonage 客户 6.0.0 io.jsonwebtoken JJWTAPI 0.11.0 io.jsonwebtoken jjwtimpl 0.11.0 运行时 io.jsonwebtoken 杰克森 0.11.0 运行时 io.jsonwebtoken jjwt 0.9.1 使

所有相关依赖项的My pom.xml。没有其他依赖项在内部使用以下依赖项


com.fasterxml.jackson.core
杰克逊数据绑定
2.9.9
com.sparkjava
火花芯
2.6.0
com.vonage
客户
6.0.0
io.jsonwebtoken
JJWTAPI
0.11.0
io.jsonwebtoken
jjwtimpl
0.11.0
运行时
io.jsonwebtoken
杰克森
0.11.0
运行时
io.jsonwebtoken
jjwt
0.9.1
使用vonage SDK启动出站语音呼叫的Java代码

VonageClient client = VonageClient.builder().applicationId(APPLICATION_ID).privateKeyContents(PRIVATE_KEY).build();
    
Ncco ncco = new Ncco(TalkAction.builder(MESSAGE).voiceName(VOICE_TYPE).build());
CallEvent callEvent=client.getVoiceClient().createCall(newCall(TO_NUMBER,FROM_NUMBER, ncco));
执行代码时引发异常

java.lang.AbstractMethodError:接收器类 io.jsonwebtoken.impl.DefaultJwtBuilder未定义或继承 解析方法摘要的实现 io.jsonwebtoken.JwtBuilder signWith(java.security.Key, 接口的io.jsonwebtoken.SignatureAlgorithm)' io.jsonwebtoken.JwtBuilder。 在com.nexmo.jwt.JwtGenerator.generate(JwtGenerator.kt:49)~[jwt-1.0.1.jar:?] 在com.nexmo.jwt.jwt.generate(jwt.kt:44)~[jwt-1.0.1.jar:?] 在com.nexmo.jwt.jwt.generate$default(jwt.kt:43)~[jwt-1.0.1.jar:?] 在com.nexmo.jwt.jwt.generate(jwt.kt)~[jwt-1.0.1.jar:?] 位于com.vonage.client.auth.JWTAuthMethod.apply(JWTAuthMethod.java:43) ~[client-6.0.0.jar:6.0.0] 位于com.vonage.client.AbstractMethod.applyAuth(AbstractMethod.java:127) ~[client-6.0.0.jar:6.0.0] 位于com.vonage.client.AbstractMethod.execute(AbstractMethod.java:73) ~[client-6.0.0.jar:6.0.0] 位于com.vonage.client.voice.CallsEndpoint.post(CallsEndpoint.java:57) ~[client-6.0.0.jar:6.0.0] 位于com.vonage.client.voice.VoiceClient.createCall(VoiceClient.java:61) ~[client-6.0.0.jar:6.0.0] 位于com.senpiper.core.listener.VoiceCallListener.listen(VoiceCallListener.java:37) ~[classes/:?] 在jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[?:?] 位于jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] 在jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] 在java.lang.reflect.Method.invoke(Method.java:566)~[?:?]


该问题是指:


io.jsonwebtoken
POM文件中的以下内容就足够了:


io.jsonwebtoken
-当争论开始时。Maven在处理依赖项副本时可能有点古怪。在本例中,因为您明确地引用了
jjwt
0.9.1
,所以它引入了一个不兼容的版本。如果我必须在黑暗中尝试一下,我会猜测对非模块化
jjwt
包的引用会优先于其他依赖项-这就是为什么它被拉入而不是其他依赖项的原因


不管怎样-只需删除旧的
jjwt
包中的引用即可解决您的问题。

请发布您的整个POM文件,此问题很可能是POM文件中以前的依赖项拉入了过时版本的
jjwt
。我删除了该jjwt依赖项,但仍然得到了相同的错误。请验证它是否真的超出了依赖项树-检查拉入的是哪个版本的
jjwt
-我可以通过在vonage依赖项之前添加jjwt依赖项,并且能够通过删除它来修复它,依赖项树中的某些内容对
0.10.5
之前版本的
jjwt