Java 此代码提供错误
我不明白如何解决这个问题。我已经添加了所有必需的jar。您的项目中有不兼容版本的Java 此代码提供错误,java,json,api,getjson,Java,Json,Api,Getjson,我不明白如何解决这个问题。我已经添加了所有必需的jar。您的项目中有不兼容版本的http core和unirest java。我已经包含了“http core 4.2.3和unirest java 1.4.7”。嘿,Jens,我已经包含了jar文件。现在,错误更改为“线程中的异常”main“java.lang.NoClassDefFoundError:org/apache/http/client/methods/HttpGet,位于com.mashape.unirest.request.Base
http core
和unirest java
。我已经包含了“http core 4.2.3和unirest java 1.4.7”。嘿,Jens,我已经包含了jar文件。现在,错误更改为“线程中的异常”main“java.lang.NoClassDefFoundError:org/apache/http/client/methods/HttpGet,位于com.mashape.unirest.request.BaseRequest.asJson(BaseRequest.java:68),位于ActOn.getAccessToken(ActOn.java:56),位于ActOn.main(ActOn.java:21)原因:java.lang.ClassNotFoundException:org.apache.http.client.methods.HttpGet位于java.net.URLClassLoader$1.run(未知源)位于java.net.URLClassLoader$1.run(未知源)位于java.security.AccessController.doPrivileged(本机方法)@AbhimanyuJha您的http客户端版本也应该是版本4.3I添加的http-client4.3,但错误与“java.lang.NoClassDefFoundError:org/apache/http/client/methods/HttpGet at com.mashape.unirest.request.BaseRequest.asJson”相同。您是将其添加到类路径还是仅添加到构建路径?
import org.apache.http.entity.ContentType;
import org.json.JSONException;
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.JsonNode;
import com.mashape.unirest.http.Unirest;
import com.mashape.unirest.http.exceptions.UnirestException;
public class ActOn {
static String BASE_URL = "https://restapi.actonsoftware.com/";
static String ACTON_USERNAME = "";
static String ACTON_PASSWORD = "";
static String CLIENT_ID = "";
static String CLIENT_SECRET = "";
public static void main(String[] args) throws JSONException {
try {
String access_token = getAccessToken();
Unirest.setDefaultHeader("Authorization", "Bearer " + access_token);
printListCount();
} catch (UnirestException e) {
e.printStackTrace();
}
}
private static void printListCount() throws UnirestException, JSONException {
HttpResponse < JsonNode > listResponse = Unirest.get(BASE_URL + "/api/1/list").asJson();
System.out.println("Total number of lists : " + listResponse.getBody().getObject().getInt("totalCount"));
}
private static String getAccessToken() throws UnirestException, JSONException {
HttpResponse < JsonNode > jsonResponse = Unirest.post(BASE_URL + "token")
.header("accept", "application/json")
.field("grant_type", "password")
.field("username", ACTON_USERNAME)
.field("password", ACTON_PASSWORD)
.field("client_id", CLIENT_ID)
.field("client_secret", CLIENT_SECRET)
.asJson();
return jsonResponse.getBody().getObject().getString("access_token");
}
}
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.http.entity.ContentType.withCharset(Ljava/lang/String;)Lorg/apache/http/entity/ContentType;
at com.mashape.unirest.request.body.MultipartBody.field(MultipartBody.java:107)
at com.mashape.unirest.request.body.MultipartBody.field(MultipartBody.java:73)
at com.mashape.unirest.request.HttpRequestWithBody.field(HttpRequestWithBody.java:95)
at com.mashape.unirest.request.HttpRequestWithBody.field(HttpRequestWithBody.java:87)
at ActOn.getAccessToken(ActOn.java:48)
at ActOn.main(ActOn.java:20)