“main”java.lang.NoClassDefFoundError:org / apache / http / HttpEntity

时间:2013-10-19 18:39:26

标签: java apache http

我试图在我的项目中使用apache http库。我在项目http://imgur.com/WvwqcDS

中导入了libreries

当我运行程序时,我收到此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/HttpEntity
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod(Unknown Source)
        at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.http.HttpEntity
        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)
        ... 6 more

3 个答案:

答案 0 :(得分:5)

ClassLoader找不到org.apache.http.HttpEntity,它应该在“httpcore-4.3.jar”里面。将jar作为存档打开并验证它是否包含org / apache / http / HttpEntity.class。如果是,则问题出在您的启动配置中。在Eclipse中,转到Run>运行配置...并找到主类的Java应用程序配置文件(应该是基于屏幕截图的“Launcher”项目中包含main方法的类)。在Classpath选项卡下,您应该看到列出的库jar。

如果没有,请返回导航窗格中的“启动器”项目,右键单击并选择“属性”,转到“构建路径”,删除罐子,按“确定”,然后返回并再次添加(到保证eclipse元数据是新鲜的)。此外,在“订购和导出”选项卡下,最好检查所有罐子,这样如果您将Launcher作为另一个项目的依赖项包含在内,则可以传递包含罐子。

答案 1 :(得分:1)

您的Eclipse无法找到外部jar,尝试将它们导入您的工作区或使用“add external jar's”将其引用到外部

答案 2 :(得分:0)

在我的情况下,Maven没有正确更新依赖项。我使用mvn clean然后重新更新依赖关系然后它得到修复。