noclassdeffounderror - 创建 DefaultHttpClient 导致 NoClassDefFoundError

标签 noclassdeffounderror classnotfoundexception apache-httpclient-4.x apache-httpcomponents

我正在尝试使用 Apache DefaultHttpClient 来执行 JSON POST 请求,当我尝试实例化它时它给我一个 NoClassDefFound 错误。

HttpClient client = new DefaultHttpClient();

我在构建路径中包含了以下 jar,

httpclient-4.2.5.jar httpcore-4.2-alpha2.jar json-simple-1.1.1.jar 流利的-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

最佳答案

已解决:我刚刚解决了这个问题,所以我只是回答以帮助 future 的灵魂。我使用的是 http-core 4.2-alpha jar,其余部分使用的是 4.2.5(http-client、http-client-cache、http-mime 等)。在我将 http-core-4.2-alpha jar 更新为 http-core-4.2.5 后问题就消失了。您可以在线在 maven 存储库中找到该 jar。

关于noclassdeffounderror - 创建 DefaultHttpClient 导致 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17030024/

相关文章:

java - FileOutputStream() 不起作用?

java - NoClassDefFoundError javax/jms/Message 即使在指定类路径时也是如此

jaxb - 动态moxy中枚举中的ClassNotFound异常

java - R.string Resources $ NotFoundException在Android应用程序上的错误

java - 在构建类时更改类名称后如何修复 ClassNotFoundException

android - HttpClient 在 Android 5.0 Lollipop 中失败并显示 Handshake Failed

java - 重用 apache httpclient 时线程被阻塞

java - Android Facebook SDK 没有找到类定义 com.facebook.android.Facebook

java - 在终端中找不到 CLASS

php - 如何使用 httpClient 和 JSON 从 php 接收数组到 android?