java.lang.NoSuchMethodError & java.lang.NoSuchFieldError: INSTANCE in using Twilio SDK



我正在使用Java中的Twilio SDK从java问题发送短信。我尝试使用 2 个不同版本的 Twilio 库,但遇到了 2 个不同的错误:

对于[twilio-java-sdk-6.3.0-jar-with-dependencies.jar],我收到了:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.http.impl.conn.DefaultClientConnectionOperator.<init>(Lorg/apache/http/conn/scheme/SchemeRegistry;Lorg/apache/http/conn/DnsResolver;)V
at org.apache.http.impl.conn.PoolingClientConnectionManager.createConnectionOperator(PoolingClientConnectionManager.java:140)
at org.apache.http.impl.conn.PoolingClientConnectionManager.<init>(PoolingClientConnectionManager.java:114)
at org.apache.http.impl.conn.PoolingClientConnectionManager.<init>(PoolingClientConnectionManager.java:99)
at org.apache.http.impl.conn.PoolingClientConnectionManager.<init>(PoolingClientConnectionManager.java:85)
at org.apache.http.impl.conn.PoolingClientConnectionManager.<init>(PoolingClientConnectionManager.java:93)
at com.twilio.sdk.TwilioClient.<init>(TwilioClient.java:151)
at com.twilio.sdk.TwilioRestClient.<init>(TwilioRestClient.java:23)
at com.twilio.sdk.TwilioRestClient.<init>(TwilioRestClient.java:19)
at iristk.app.bankAsst.Watson.sendMsg(Watson.java:82)
at iristk.app.bankAsst.Watson.main(Watson.java:100)

对于 [twilio-7.9.1-jar-with-dependencies.jar],我收到了:

Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:144)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.getDefaultRegistry(PoolingHttpClientConnectionManager.java:109)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:116)
at com.twilio.http.NetworkHttpClient.<init>(NetworkHttpClient.java:46)
at com.twilio.http.TwilioRestClient$Builder.build(TwilioRestClient.java:97)
at com.twilio.Twilio.getRestClient(Twilio.java:122)
at com.twilio.base.Creator.create(Creator.java:45)
at iristk.app.bankAsst.Watson.sendMsg(Watson.java:82)
at iristk.app.bankAsst.Watson.main(Watson.java:91)

这两个错误的含义是什么?如果可能的话,如何解决它们?

谢谢

您的应用程序似乎有另一个版本的 HTTPclient&httpcore,它与 Wilio-Java-SDK 不兼容。 请检查您的 POM.xml并删除 httpclient&httpcore 的依赖关系。如果你在pom.xml中看不到httpclient&httpcore的任何依赖项,请运行"mvn dependency:tree"来查找哪个依赖项包含httpclient&httpcore,然后添加排除节点来排除它们。

Wilio-java-SDK-6.3.0-jar-with-dependencies.jar包含httpclient(4.2.6(和httpcore(4.2.5(。

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.2.6</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpcore</artifactId>
    <version>4.2.5</version>
</dependency>

twilio-7.9.1-jar-with-dependencies.jar 包含 httpclient(4.5.2( 和 httpcore(4.4.4(

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.2</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpcore</artifactId>
    <version>4.4.4</version>
</dependency>

相关内容

最新更新