Okhttp NoClassDefFoundError при запуске проектаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Okhttp NoClassDefFoundError при запуске проекта

Сообщение Anonymous »

Я создал файл build.gradle, который выглядит следующим образом:

Код: Выделить всё

plugins {
id 'java'
}

repositories {
mavenCentral()
}

dependencies {
compile 'com.squareup.okhttp3:okhttp:3.12.1'
}
затем у меня есть простой класс helloWorld, который использует пример кода с веб-сайта okhttp:

Код: Выделить всё

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class helloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
.url("www.google.com")
.build();

try (Response response = client.newCall(request).execute()) {
System.out.println("SUCCESSS---->"+response.body().string());
} catch (IOException e){
System.out.println("......error thrown");
}
}
}
Когда я пытаюсь запустить скомпилированный файл класса, я получаю следующую ошибку:

Код: Выделить всё

Exception in thread "main" java.lang.NoClassDefFoundError: okhttp3/OkHttpClient at helloWorld.main(helloWorld.java:6)
Caused by: java.lang.ClassNotFoundException: okhttp3.OkHttpClient at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.
ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 1 more
Если я удалю строки

Код: Выделить всё

OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("www.google.com")
.build();

try (Response response = client.newCall(request).execute()) {
System.out.println("SUCCESSS---->"+response.body().string());
} catch (IOException e){
System.out.println("......error thrown");
}
тогда класс работает правильно. Поэтому я думаю, что, возможно, jar импортируется неправильно?

Для ясности: проект компилируется правильно, проблема возникает только в том случае, если я пытаюсь запустить скомпилированный файл класса.

Подробнее здесь: https://stackoverflow.com/questions/543 ... ng-project
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»