4

Я пытаюсь создать простой проект Eclipse для проверки кода, который использует код HttpClient.NoClassDefFoundError с простым проектом Apache HttpClient Eclipse

Я создал простой проект Java в Eclipse, добавлен тестовый пример Junit4 (код ниже). Я добавил httpclient-4.1.3.jar в проект Eclipse, который я вручную загрузить с Maven Central here и добавил флягу в путь сборки Java.

При запуске теста, я получаю следующее сообщение об ошибке:

java.lang.NoClassDefFoundError: org/apache/http/params/HttpParams at HttpClientDemo.test(HttpClientDemo.java:13)

HttpClientDemo просто:

import org.apache.http.client.HttpClient; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.junit.Test; 


public class HttpClientDemo { 
    @Test public void test() { 
     HttpClient httpclient = new DefaultHttpClient(); 
    } 
} 

Почему я получаю эту ошибку?

ответ

9

Начиная с версии 4, HttpClient был разделен на три части, под кликом HttpComponents: Core, надлежащим клиентом и AsyncClient. Класс HttpParams теперь входит в состав HttpComponents Core, поэтому вам также понадобится конкретный JAR для этого компонента (предположительно с именем httpcore-4.1.3.jar), чтобы успешно скомпилировать ваш простой пример.

+0

Спасибо! Тем не менее, я не вижу JAR в разделе [HttpComponents core]] (http://search.maven.org/#browse|-1669891889), только файл pom. Я не использую maven (я попробовал установить m2Eclipse, чтобы получить поддержку Maven только для этого проекта, но кривая обучения довольно крутая.) Знаете ли вы, какой HttpComponents JAR это то, что я могу отсутствовать? –

+1

@glenviewjeff Я не использую Maven, но со страницы http://hc.apache.org/downloads.cgi. Я вижу некоторые загружаемые файлы HttpCore, которые могут вас заинтересовать. –

+0

Ух, это заканчивается тем, что все Ящики находятся в заархивированных «двоичных» загрузках прямо с сайта Apache HttpComponents (http://hc.apache.org/downloads.cgi). Ах, я думаю, ты избил меня. Это было много потраченных усилий, чтобы не потрудиться заглянуть внутрь молнии. Я не знаю, что я думал, было в «двоичных файлах», которые сбивали меня с пути. –

Смежные вопросы