java.lang.NoClassDefFoundError:org/apache/http/HttpEntity

java.lang.NoClassDefFoundError:org/apache/http/HttpEntity,java,apache,http,exception,buildpath,Java,Apache,Http,Exception,Buildpath,我尝试了所有的方法,但是解决方案,我添加到buildpath,通过manifest.mf导入,但是我一直得到这个异常。 内部构建路径:commons-codec-1.8.jar、commons-logging-1.1.jar、httpclient-4.2.5.jar、httpcore-4.2.4.jar。我尝试使用httpmime-4.0.1和selenium-server-standalone-2.0b3.jar,但我一直遇到这个异常 Exception in thread "main" ja

我尝试了所有的方法,但是解决方案,我添加到buildpath,通过manifest.mf导入,但是我一直得到这个异常。 内部构建路径:commons-codec-1.8.jar、commons-logging-1.1.jar、httpclient-4.2.5.jar、httpcore-4.2.4.jar。我尝试使用httpmime-4.0.1和selenium-server-standalone-2.0b3.jar,但我一直遇到这个异常

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/httpEntity
    at autorun.Main.main<Main.java:101>
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.AccesController.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>
    ... 1 more
线程“main”java.lang.NoClassDefFoundError中的异常:org/apache/http/httpEntity 在autorun.Main.Main 原因:java.lang.ClassNotFoundException:org.apache.http.HttpEntity 在java.net.URLClassLoader$1.run 在java.net.URLClassLoader$1.run 位于java.security.AccesController.doPrivileged 位于java.net.URLClassLoader.findClass 在java.lang.ClassLoader.loadClass 在sun.misc.Launcher$AppClassLoader.loadClass 在java.lang.ClassLoader.loadClass ... 还有一个
在运行程序时,需要将所需的JAR(包含httpEntity和其他相关类)添加到
类路径中。生成路径用于编译/生成代码,但不用于执行。

运行程序时,需要将所需的JAR(包含httpEntity和其他相关类)添加到
类路径中。生成路径用于编译/生成代码,但不用于执行。

了解这两个命令之间的区别:

  • javac-cp[dir/jar][class].java
  • java-cp[dir/jar][class]
两者都需要对类路径的依赖关系,但一个在编译时需要它,另一个在运行时需要它。现在根据Javadoc:

java.lang.NoClassDefFoundError

如果Java虚拟机或类加载器实例尝试 在类的定义中加载(作为普通方法调用的一部分或 作为使用新表达式创建新实例的一部分)和 可以找到该类的定义

这基本上意味着:编译/打包时一切正常(这就是为什么您有当前的Java字节码!),但在运行时找不到类(类定义)

现在粗略地说

Build  = compilation + packaging
因此编译期间,buildpath
可以被认为是类路径。NoClassDefFoundError
告诉我们问题发生在运行时。因此,这意味着在编译/构建时,所需的类出现在类路径上,但在运行时丢失


希望有帮助

了解这两个命令之间的区别:

  • javac-cp[dir/jar][class].java
  • java-cp[dir/jar][class]
两者都需要对类路径的依赖关系,但一个在编译时需要它,另一个在运行时需要它。现在根据Javadoc:

java.lang.NoClassDefFoundError

如果Java虚拟机或类加载器实例尝试 在类的定义中加载(作为普通方法调用的一部分或 作为使用新表达式创建新实例的一部分)和 可以找到该类的定义

这基本上意味着:编译/打包时一切正常(这就是为什么您有当前的Java字节码!),但在运行时找不到类(类定义)

现在粗略地说

Build  = compilation + packaging
因此编译期间,buildpath
可以被认为是类路径。NoClassDefFoundError
告诉我们问题发生在运行时。因此,这意味着在编译/构建时,所需的类出现在类路径上,但在运行时丢失


希望有帮助

构建路径!=运行时classpath@JigarJoshi一般来说,是的,但Eclipse在执行项目时是否会自动确保这些JAR在运行时类路径中?我没有看到整个页面中提到Eclipse(除了您的评论,现在在我的此评论中)@JigarJoshi我可能对标记的使用读得太多了,这是Eclipse.build路径所独有的!=运行时classpath@JigarJoshi一般来说,是的,但Eclipse在执行项目时是否会自动确保这些JAR在运行时类路径中?我没有看到整个页面中提到Eclipse(除了您的评论,现在在我的此评论中)@JigarJoshi我可能对标记的使用读得太多了,这是Eclipse独有的。谢谢您的帮助。我尝试将commons-codec-1.8.jar、commons-logging-1.1.jar、httpclient-4.2.5.jar、httpcore-4.2.4.jar添加到类路径中,但没有成功。我应该向类路径添加什么?(我使用Eclipse,我使用Run/Run配置/Classpath。)@Judit尝试转储运行时Classpath
System.out.println(System.getProperty(“java.class.path”)
并查看jar是否可用,其中包含类谢谢您的帮助。我尝试将commons-codec-1.8.jar、commons-logging-1.1.jar、httpclient-4.2.5.jar、httpcore-4.2.4.jar添加到类路径中,但没有成功。我应该向类路径添加什么?(我使用Eclipse,我使用Run/Run配置/Classpath。)@Judit尝试转储运行时Classpath
System.out.println(System.getProperty(“java.class.path”)
并查看jar是否可用于包含类