Я разрабатываю плагин Eclipse (среда OSGi) и пытаюсь использовать OkHttp 4.11.0 для отправки HTTP-запросов. Однако я получаю следующую ошибку выполнения:
Я разрабатываю [b]плагин Eclipse[/b] (среда OSGi) и пытаюсь использовать [b]OkHttp 4.11.0[/b] для отправки HTTP-запросов. Однако я получаю следующую ошибку выполнения: [code]java.lang.ClassNotFoundException: okio.Buffer cannot be found by eclipseai.plugin_1.0.0 [/code] [b]Минимально воспроизводимый пример (MRE)[/b] [code]package eclipseai.test;
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:
[/list] [code]Bundle-ClassPath: ., library/okhttp-4.11.0.jar, library/okio-3.4.0.jar, library/kotlin-stdlib-2.2.21.jar [/code] [list] [*]Добавьте их в [b]build.properties[/b] bin.includes: [/list] [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] [list] [*]Запустите плагин → [b]ClassNotFoundException[/b] возникает в okio.Buffer. [/list]
[b]Вопросы[/b] [list] [*]Как правильно включить OkHttp и Okio в плагин Eclipse, чтобы okio.Buffer правильно загружен, не вызывая ClassNotFoundException? [/list]