首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpClient NoClassDefFoundError

HttpClient NoClassDefFoundError
EN

Stack Overflow用户
提问于 2010-07-13 02:41:54
回答 4查看 61.6K关注 0票数 15

我正在尝试从HttpClient 4.0.1运行一个示例应用程序。它是示例部分中的文件ClientMultiThreadedExecution.java。我将这些文件放入类路径:apache-mime4j-0.6.jar;commons-codec-1.3.jar;commons-logging-1.1.1.jar;httpclient-4.0.1.jar;httpcore-4.0.1.jar;httpmime-4.0.1.jar中,文件就会正确编译。在运行时,我得到以下错误:

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest
Caused by: java.lang.ClassNotFoundException: org.apache.http.client.methods.HttpUriRequest
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

我是不是漏掉了一个引用?这看起来像是一个类路径错误,但是我不能确定要包含哪个jar文件?提前感谢您的帮助。

EN

回答 4

Stack Overflow用户

发布于 2010-07-13 02:46:50

那个类在httpclient-4.0.1.jar中(我刚刚下载了它),所以我怀疑您没有正确地将它放在类路径中。

你是如何编译和运行你的代码的?

票数 5
EN

Stack Overflow用户

发布于 2017-02-27 06:40:20

在cloudera-quickstart-vm-5.8.0中运行Eclipse露娜2 (4.4.2)时,我必须添加以下内容

  • apache-httpcomponents-httpcore.jar
  • httpclient-4.5.3.jar
  • httpclient-cache-4.5.3.jar

..。然后它就可以正常工作了,没有错误

票数 3
EN

Stack Overflow用户

发布于 2014-11-11 04:50:17

当我遇到这个问题时,我发现当我将Fluent API添加为HTTPClient依赖项时,它导入了与我已经使用的版本不同的Maven版本。这两个版本的API都打包在结果JAR的lib文件夹中。版本冲突是导致此错误的原因。

将条目添加到类路径可以解决这个问题,因为您只是手动指定要使用的版本。然而,为了修复潜在的问题,我只需要在重新构建之前删除我的目标文件夹(或者运行maven clean)。这删除了所有“缓存”的库JAR,在下一次构建时,仅重新下载了正确的库JAR。

希望这对某些人有帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3231215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档