Программисты JAVA общаются здесь
Anonymous
Java.lang.ClassNotFoundException: okio.Buffer при использовании OkHttp внутри плагина Eclipse (OSGi)
Сообщение
Anonymous » 15 дек 2025, 07:39
Я разрабатываю
плагин Eclipse (среда OSGi) и пытаюсь использовать
OkHttp 4.11.0 для отправки HTTP-запросов. Однако я получаю следующую ошибку выполнения:
java.lang.ClassNotFoundException: okio.Buffer не может быть найден с помощью eclipseai.plugin_1.0.0
Минимальный воспроизводимый пример (MRE)
Код: Выделить всё
package eclipseai.test;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
public class OkHttpTest {
public static void main(String[] args) throws IOException {
OkHttpClient client = new OkHttpClient(); // ClassNotFoundException occurs here
Request request = new Request.Builder()
.url("https://www.google.com")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
}
}
Как воспроизводить внутри плагина Eclipse (OSGi)
Создайте новый проект плагина Eclipse (например, eclipseai.plugin).
Добавьте эти JAR-файлы в папку библиотеки/ плагина:
Добавьте их в MANIFEST.MF Bundle-ClassPath:
Код: Выделить всё
Bundle-ClassPath: .,
library/okhttp-4.11.0.jar,
library/okio-3.4.0.jar,
library/kotlin-stdlib-2.2.21.jar
Добавьте их в build.properties bin.includes:
Код: Выделить всё
bin.includes = plugin.xml, META-INF/, .,
library/okhttp-4.11.0.jar,
library/okio-3.4.0.jar,
library/kotlin-stdlib-2.2.21.jar
Запустите плагин → ClassNotFoundException возникает в okio.Buffer.
Как правильно включить OkHttp и Okio в плагин Eclipse, чтобы okio.Buffer правильно загружался, не вызывая ClassNotFoundException?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... -eclipse-p
1765773566
Anonymous
Я разрабатываю [b]плагин Eclipse[/b] (среда OSGi) и пытаюсь использовать [b]OkHttp 4.11.0[/b] для отправки HTTP-запросов. Однако я получаю следующую ошибку выполнения: java.lang.ClassNotFoundException: okio.Buffer не может быть найден с помощью eclipseai.plugin_1.0.0 [b]Минимальный воспроизводимый пример (MRE)[/b] [code]package eclipseai.test; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; public class OkHttpTest { public static void main(String[] args) throws IOException { OkHttpClient client = new OkHttpClient(); // ClassNotFoundException occurs here Request request = new Request.Builder() .url("https://www.google.com") .build(); Response response = client.newCall(request).execute(); System.out.println(response.body().string()); } } [/code] [b]Как воспроизводить внутри плагина Eclipse (OSGi)[/b] [list] [*]Создайте новый проект плагина Eclipse (например, eclipseai.plugin). [*]Добавьте эти JAR-файлы в папку библиотеки/ плагина: [list] [code]okhttp-4.11.0.jar[/code] [*][code]okio-3.4.0.jar[/code] [*][code]kotlin-stdlib-2.2.21.jar[/code] [/list] [*]Добавьте их в [b]MANIFEST.MF[/b] Bundle-ClassPath: [code]Bundle-ClassPath: ., library/okhttp-4.11.0.jar, library/okio-3.4.0.jar, library/kotlin-stdlib-2.2.21.jar [/code] [*]Добавьте их в [b]build.properties[/b] bin.includes: [code]bin.includes = plugin.xml, META-INF/, ., library/okhttp-4.11.0.jar, library/okio-3.4.0.jar, library/kotlin-stdlib-2.2.21.jar [/code] [*]Запустите плагин → [b]ClassNotFoundException[/b] возникает в okio.Buffer. [/list] Как правильно включить OkHttp и Okio в плагин Eclipse, чтобы okio.Buffer правильно загружался, не вызывая ClassNotFoundException? Подробнее здесь: [url]https://stackoverflow.com/questions/79829352/java-lang-classnotfoundexception-okio-buffer-when-using-okhttp-inside-eclipse-p[/url]