这是我第一次使用OkHttp,我想首先学习一些基本代码。
这是从here提取的代码:
package com.anta40.app.okconnectiontest;
import java.io.IOException;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class MainClass {
public static void main(String args[]) {
OkHttpClient okcl = new OkHttpClient();
Request request = new Request.Builder()
.url("http://www.vogella.com/index.html")
.build();
okcl.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, final Response response) throws IOException {
if (!response.isSuccessful()) {
throw new IOException("Unexpected code " + response);
}
else {
System.out.println("okay.....");
}
}
});
}
}
在Eclipse上运行代码会产生以下输出:
线程“主”中的异常java.lang.NoClassDefFoundError: kotlin / TypeCastException在 okhttp3.ResponseBody.create(ResponseBody.java:210)位于 okhttp3.internal.Util。(Util.java:60)在 okhttp3.OkHttpClient。(OkHttpClient.java:123)在 com.anta40.app.okconnectiontest.MainClass.main(MainClass.java:14) 引起原因:java.lang.ClassNotFoundException:kotlin.TypeCastException 在java.net.URLClassLoader.findClass(URLClassLoader.java:381)在 java.lang.ClassLoader.loadClass(ClassLoader.java:424)在 sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:349)在 java.lang.ClassLoader.loadClass(ClassLoader.java:357)...还有4个
我在Windows 10 64上,使用JDK 1.8.0_181,OkHttp 3.11,OkIo 2.1.0,kotlib-stdlib -0.6.179,kotlin-stdlib-common 1.2.71 怎么了?
答案 0 :(得分:2)
该代码适用于okhttp-3.9.0.jar和okio-1.13.0.jar。