4

HttpClient 코드를 사용하는 코드를 테스트하는 간단한 Eclipse 프로젝트를 만들려고합니다.간단한 Apache HttpClient Eclipse 프로젝트에서 NoClassDefFoundError

Eclipse에서 일반 자바 프로젝트를 만들고 Junit4 테스트 케이스 (아래 코드)를 추가했습니다. httpclient-4.1.3.jar을 Maven Central here에서 수동으로 다운로드 한 Eclipse 프로젝트에 추가하고 jar 파일을 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의 일부이므로 간단한 예제를 성공적으로 컴파일하려면 해당 구성 요소 (특정 예로 httpcore-4.1.3.jar)에 대한 특정 JAR이 필요합니다.

+0

고마워요! 그러나, [HttpComponents core "part"] (http://search.maven.org/#browse-1669891889)의 POM 파일에서만 JAR이 표시되지 않습니다. 나는 maven을 사용하지 않고있다. (m2Eclipse를 설치하여 Maven 지원을 얻으려고했으나, 학습 곡선이 꽤 가파르다.) 그래서 어떤 HttpComponents JAR이 빠졌는지 알고 있는가? –

+1

@glenviewjeff Maven을 사용하지 않지만 http://hc.apache.org/downloads.cgi 페이지에서 관심있는 HttpCore 바이너리 다운로드를 볼 수 있습니다. –

+0

Jars는 [Apache 's HttpComponents site] (http://hc.apache.org/downloads.cgi)에서 바로 압축 된 "바이너리"다운로드 파일로 제공됩니다. 아, 네가 나를 때렸을거야. 그것은 지퍼 내부를 들여다 보지 않으려 고 많은 노력을 낭비했습니다. 나는 내가 잘못 생각한 "바이너리"에 무엇을 생각하고 있는지 몰라. –

관련 문제