我正在尝试从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中,文件就会正确编译。在运行时,我得到以下错误:
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文件?提前感谢您的帮助。
发布于 2010-07-13 02:46:50
那个类在httpclient-4.0.1.jar中(我刚刚下载了它),所以我怀疑您没有正确地将它放在类路径中。
你是如何编译和运行你的代码的?
发布于 2017-02-27 06:40:20
在cloudera-quickstart-vm-5.8.0中运行Eclipse露娜2 (4.4.2)时,我必须添加以下内容
..。然后它就可以正常工作了,没有错误
发布于 2014-11-11 04:50:17
当我遇到这个问题时,我发现当我将Fluent API添加为HTTPClient依赖项时,它导入了与我已经使用的版本不同的Maven版本。这两个版本的API都打包在结果JAR的lib文件夹中。版本冲突是导致此错误的原因。
将条目添加到类路径可以解决这个问题,因为您只是手动指定要使用的版本。然而,为了修复潜在的问题,我只需要在重新构建之前删除我的目标文件夹(或者运行maven clean)。这删除了所有“缓存”的库JAR,在下一次构建时,仅重新下载了正确的库JAR。
希望这对某些人有帮助!
https://stackoverflow.com/questions/3231215
复制相似问题