создание DefaultHttpClient вызывает NoClassDefFoundError

Я пытаюсь использовать Apache DefaultHttpClient для выполнения запроса JSON POST, и он дает мне ошибку NoClassDefFound, когда я пытаюсь создать его экземпляр.

HttpClient client = new DefaultHttpClient();

Я включил следующие банки в свой путь сборки,

httpclient-4.2.5.jar httpcore-4.2-alpha2.jar json-simple-1.1.1.jar fluent-hc-4.2.5.jar httpclient-cache-4.2.5.jar httpmime-4.2.5.jar org. apache.httpcomponents.httpclient_4.2.5.jar

У меня нет проблем, когда я пытаюсь импортировать DefaultHttpClient следующим образом

   import org.apache.http.impl.client.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



Ответы (1)


РЕШЕНО: Я только что решил проблему, поэтому я просто отвечаю, чтобы помочь будущим душам. Я использовал банку http-core 4.2-alpha и использовал 4.2.5 для остальных (http-client, http-client-cache, http-mime и т. д.). Проблема исчезла после того, как я обновил банку http-core-4.2-alpha до http-core-4.2.5. Вы можете найти банку в репозиториях maven онлайн.

person user1943079    schedule 10.06.2013
comment
Моя проблема заключалась в том, что я использовал версию библиотек для Android в проекте Java, мне нужно было загрузить обычные версии Java, чтобы избавиться от проблемы. - person David; 11.07.2014