如何解决此错误?“java.lang.NoSuchFieldError:org.apache.http.conn.ssl.SSLConnectionSocketFactory上的实例。<clinit>。”
我正在Android Studio中编写java代码
我请求http时遇到问题
这是密码
import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.util.UUID;
public class GetAccounts {
public static void main(String[] args) {
String accessKey = System.getenv("UPBIT_OPEN_API_ACCESS_KEY");
String secretKey = System.getenv("UPBIT_OPEN_API_SECRET_KEY");
String serverUrl = System.getenv("UPBIT_OPEN_API_SERVER_URL");
Algorithm algorithm = Algorithm.HMAC256(secretKey);
String jwtToken = JWT.create()
.withClaim("access_key", accessKey)
.withClaim("nonce", UUID.randomUUID().toString())
.sign(algorithm);
String authenticationToken = "Bearer " + jwtToken;
try {
HttpClient client = HttpClientBuilder.create().build();
HttpGet request = new HttpGet(serverUrl + "/v1/accounts");
request.setHeader("Content-Type", "application/json");
request.addHeader("Authorization", authenticationToken);
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
System.out.println(EntityUtils.toString(entity, "UTF-8"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
这就是错误
Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:144)
at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:912)
at com.project.autotrade.GetAccounts.main(GetAccounts.java:31)
最初,我将其添加到依赖项中。(最新版本)
implementation 'org.apache.httpcomponents:httpclient:4.5.13'
这在我的库中添加了httpclient 4.5.13
和httpcore 4.4.13
我搜索了很多来解决这个错误 我发现问题是两个
首先,
httpclient
和httpcore
的版本不同
所以我尝试降级httpclient和httpcore,使其与4.4.1版本相同
但这是行不通的
第二, 目录中有一个旧版本。jar文件被放置, 所以那些旧版本的jar文件使它们相互冲突
所以我试着重置那个目录并重新编译代码。 但这也不起作用
我应该如何更改我的库httpclient
和httpcore
的设置
谢谢!
共 (0) 个答案