使用twilio SMS时出现java.lang.NoSuchMethodError
我在Netbeans 8.2 RC中使用Java web 我尝试使用Twillio客户端发送短信:使用twilio SMS时出现java.lang.NoSuchMethodError,java,twilio,jackson-databind,nosuchmethoderror,Java,Twilio,Jackson Databind,Nosuchmethoderror,我在Netbeans 8.2 RC中使用Java web 我尝试使用Twillio客户端发送短信: Twilio.init(帐户SID、身份验证令牌); Message=Message.creator( 新建com.twilio.type.PhoneNumber(getContact()), 新的com.twilio.type.PhoneNumber(“+PhoneNumber”), “示例消息” ).create(); 消息已成功传递 但在.create()之后,代码不会继续。 引发以下异常
Twilio.init(帐户SID、身份验证令牌);
Message=Message.creator(
新建com.twilio.type.PhoneNumber(getContact()),
新的com.twilio.type.PhoneNumber(“+PhoneNumber”),
“示例消息”
).create();
消息已成功传递
但在.create()之后,代码不会继续。
引发以下异常:
java.lang.NoSuchMethodError:
com.fasterxml.jackson.datatype.jsr310.deser.JSR310DateTimeDeserializerBase.findFormatOverrides(Lcom/fasterxml/jackson/databind/DeserializationContext;Lcom/fasterxml/jackson/databind/BeanProperty;Ljava/lang/Class;)Lcom/fasterxml/jackson/annotation/JsonFormat$Value;
我试过的
我没有pom.xml
或build.gradle
。我只有web.xml
我已经导入了库:twilio-8.9.0-jar-with-dependencies.jar
我如何解决这个问题
我拥有的图书馆:
Twillio SDK正是
create()
方法,它似乎依赖于Jackson(FasterXML转换器库),特别是其处理Java8日期时间(JSR-310)的模块。当调用create()
导致类JSR310DateTimeDeserializerBase
缺少方法时,这一点很明显
尝试为twilio添加专业护卫规则-将类com.twilio.*{*}添加到哪里?您使用了哪些库(重新)产生了错误:
twilio-8.9.0-jar-with-dependencies.jar
或屏幕截图中较旧的8.8.0
❔ 还请发布完整的错误输出和堆栈跟踪。它是使用twilio-7.14.0 jar解决的。谢谢大家的支持answers@user15520720这与web.xml
无关。这是关于依赖关系(类路径中的类l。是否有其他可能干扰的Jackson jar(版本方面,例如,不存在此方法的旧版本)❔我认为问题在于我正在使用import java.time.format.DateTimeFormatter;
@user15520720不,我怀疑。这个问题与运行时冲突的依赖项有关:而Jackson core(ObjectMapper)尝试将Twilio API响应从JSON反序列化为Java对象,深入到stacktrace中,它调用此方法并失败,出现NoSuchMethodError
。请参阅我更新的答案,我将如何解决:使用Gradle或Maven。