我正在使用 Apache 的 httpcomponents 連接到網路服務。當我運行測驗時,初始化客戶端沒有問題。但是,當我想做一個實際的集成測驗時,我通過以下堆疊跟蹤收到上述例外:
java.lang.NoSuchFieldError: INSTANCE
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:151)
at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:969)
at eu.sonetas.fuga.rs.foo.FooRs.<init>(IbanityRs.java:64)
at eu.sonetas.fuga.rs.foo.FooRs_EInvoicing.<init>(fooRs_EInvoicing.java:45)
我正在使用 httpclient 4.5.13、httpcore 4.4.14 和 httpmime 4.5.13(所有最新版本)和 tomcat 9.0.6。
我不使用任何構建工具,而且我很確定我的類路徑上沒有上述 jar 的其他版本。
這是出現問題的呼叫代碼:
public FooRs() throws FooException {
try {
SSLContext sslContext = SSLContexts.custom()
.loadKeyMaterial(readStore(), KEYPASS.toCharArray())
.build();
this.httpClient = HttpClients.custom().setSSLContext(sslContext).build();
//
} catch (NoSuchAlgorithmException | KeyManagementException | KeyStoreException | UnrecoverableKeyException e) {
throw new FooException("Could not initialize FooRs:" e.getMessage());
}
}
uj5u.com熱心網友回復:
這個問題是由我的類路徑上舊版本的 httpclient-cache 引起的
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/340494.html
標籤:爪哇 公猫 apache-http组件
