Java OkHttp NetBeans NoClassDefFoundError
我有一个Android应用程序,使用OkHttp进行网络速度测试。现在我需要使用NetBeans 8.2为桌面创建另一个客户端,但我无法使OkHttp工作。我包括了库okhttp-3.11.0和okio-2.0.0,但得到了java.lang.NoClassDefFoundError 我的代码是:Java OkHttp NetBeans NoClassDefFoundError,java,noclassdeffounderror,netbeans-8,okhttp3,Java,Noclassdeffounderror,Netbeans 8,Okhttp3,我有一个Android应用程序,使用OkHttp进行网络速度测试。现在我需要使用NetBeans 8.2为桌面创建另一个客户端,但我无法使OkHttp工作。我包括了库okhttp-3.11.0和okio-2.0.0,但得到了java.lang.NoClassDefFoundError 我的代码是: public class TestCheckNetwork { private final JFrame frame; private final OkHttpClient client; lon
public class TestCheckNetwork {
private final JFrame frame;
private final OkHttpClient client;
long startTime;
long endTime;
long fileSize;
TestCheckNetwork(JFrame frame) {
this.frame = frame;
client = new OkHttpClient();
}
void initTest() {
Request request = new Request.Builder().url("http://ipv4.ikoula.testdebit.info/50k.iso").build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
Utils.speedNetwork = 0;
}
@Override
public void onResponse(Call call, Response response) throws IOException {
startTime = System.currentTimeMillis();
if (!response.isSuccessful()) {
throw new IOException("Unexpected code " + response);
}
Headers responseHeaders = response.headers();
for (int i = 0, size = responseHeaders.size(); i < size; i++) {
//TODO log
}
InputStream input = response.body().byteStream();
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
while ((System.currentTimeMillis() - startTime) < 50000 && input.read(buffer) != -1) {
bos.write(buffer);
}
byte[] docBuffer = bos.toByteArray();
fileSize = bos.size();
bos.close();
} finally {
input.close();
}
endTime = System.currentTimeMillis();
// calculate how long it took by subtracting endtime from starttime
double timeTakenMills = Math.floor(endTime - startTime); // time taken in milliseconds
final double timeTakenSecs = timeTakenMills / 1000; // divide by 1000 to get time in seconds
final int kilobytePerSec = (int) Math.round(1024 / timeTakenSecs);
// get the download speed by dividing the file size by time taken to download
final double speed = fileSize / timeTakenMills;
Utils.speedNetwork = (int) speed;
}
});
}
}
公共类TestCheckNetwork{
私有最终JFrame;
私人最终Okhttp客户;
长启动时间;
长时间;
长文件大小;
TestCheckNetwork(JFrame){
this.frame=frame;
client=new-OkHttpClient();
}
void initTest(){
Request Request=new Request.Builder().url(“http://ipv4.ikoula.testdebit.info/50k.isobuild();
client.newCall(request).enqueue(new Callback()){
@凌驾
公共void onFailure(调用调用,IOE异常){
e、 printStackTrace();
Utils.speedNetwork=0;
}
@凌驾
public void onResponse(调用调用、响应响应)引发IOException{
startTime=System.currentTimeMillis();
如果(!response.issusccessful()){
抛出新IOException(“意外代码”+响应);
}
Headers responseHeaders=response.Headers();
for(int i=0,size=responseHeaders.size();i
得到的误差为:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: kotlin/TypeCastException
at okhttp3.ResponseBody.create(ResponseBody.java:210)
at okhttp3.internal.Util.<clinit>(Util.java:60)
at okhttp3.OkHttpClient.<clinit>(OkHttpClient.java:123)
at assistantremote.TestCheckNetwork.<init>(TestCheckNetwork.java:35)
at assistantremote.AssistantRemote.inicializate(AssistantRemote.java:119)
at assistantremote.AssistantRemote.<init>(AssistantRemote.java:81)
at assistantremote.AssistantRemote.lambda$main$0(AssistantRemote.java:1758)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.ClassNotFoundException: kotlin.TypeCastException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 21 more
BUILD STOPPED (total time: 6 seconds)
线程“AWT-EventQueue-0”java.lang.NoClassDefFoundError中的异常:kotlin/TypeCastException
在okhttp3.ResponseBody.create(ResponseBody.java:210)
位于okhttp3.internal.Util.(Util.java:60)
在okhttp3.OkHttpClient(OkHttpClient.java:123)
在assistantremote.TestCheckNetwork.(TestCheckNetwork.java:35)
在assistantremote.assistantremote.inicializate(assistantremote.java:119)
assistantremote.assistantremote.(assistantremote.java:81)
在assistantremote.assistantremote.lambda$main$0(assistantremote.java:1758)
在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)中
位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
在java.awt.EventQueue.access$500(EventQueue.java:97)
在java.awt.EventQueue$3.run(EventQueue.java:709)
在java.awt.EventQueue$3.run(EventQueue.java:703)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
在java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)中
位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:105)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
在java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
原因: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:331)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 还有21个
构建已停止(总时间:6秒)
我只找到了Maven或Android的解决方案。我的错误在哪里?没有OkHttp我怎么能犯?感谢您尝试将kotlin stdlib和stdlib公共依赖项添加到您的构建中