3

Apache DefaultHttpClient를 사용하여 JSON POST 요청을 실행하려고하는데 인스턴스를 생성 할 때 NoClassDefFound 오류가 발생합니다. 내 buildpath에서 다음 항아리를 포함 시켰습니다DefaultHttpClient를 작성하면 NoClassDefFoundError가 발생합니다.

HttpClient client = new DefaultHttpClient(); 

,

HttpClient를-4.2.5.jar httpcore-4.2-alpha2.jar JSON - 간단한-1.1.1.jar fluent-에게 HC-4.2.5.jar HttpClient를 캐시-4.2.5.jar httpmime-4.2.5.jar org.apache.httpcomponents.httpclient_4.2.5.jar

내가 가져 오려고 할 때 아무 문제가 없다 다음과 같은 DefaultHttpClient

그러나 위에서 설명한 것처럼 인스턴스를 만들 때만 가능합니다.

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 
    at org.apache.http.impl.client.AbstractHttpClient.<init>(AbstractHttpClient.java:187) 
    at org.apache.http.impl.client.DefaultHttpClient.<init>(DefaultHttpClient.java:146) 
    at AtlasService.main(AtlasService.java:53) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 3 more 

답변

2

해결 : 난 그냥 단지 미래의 영혼을 돕기 위해 응답하고있어, 그래서이 문제를 해결했다. http-core 4.2-alpha jar를 사용하고 나머지 (http-client, http-client-cache, http-mime 등)에 4.2.5를 사용하고있었습니다. http-core-4.2-alpha jar 파일을 http-core-4.2.5로 업데이트 한 후 문제가 해결되었습니다. 당신은 maven repos 온라인에서 항아리를 찾을 수 있습니다.

+0

내 문제는 자바 프로젝트에서 안드로이드 용 libs 버전을 사용하고 있었기 때문에 문제를 없애기 위해 일반적인 자바 버전을 다운로드해야했습니다. – David