我正在使用 Java 中的 Twilio SDK 从 java 发送短信问题。我尝试使用 2 个不同版本的 Twilio 库,但出现了 2 个不同的错误:
对于 [twilio-java-sdk-6.3.0-jar-with-dependency.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-dependency.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)
这两个错误是什么意思?如果可能的话,如何解决这些问题?
谢谢
最佳答案
您的应用程序似乎有另一个与 wilio-java-sdk 不兼容的 httpclient&httpcore 版本。请检查您的 pom.xml 并删除 httpclient&httpcore 的依赖项。如果您在 pom.xml 中看不到 httpclient&httpcore 的任何依赖项,请运行“mvn dependency:tree”来查找哪个依赖项包含 httpclient&httpcore,然后添加排除节点将其排除。
wilio-java-sdk-6.3.0-jar-with-dependency.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-dependency.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>
关于java.lang.NoSuchMethodError & java.lang.NoSuchFieldError : INSTANCE in using Twilio SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43905085/