课堂上的例外 线程“main”java.lang.NoClassDefFoundError中的异常:org/apache/commons/codec/DecoderException 位于org.apache.commons.httpclient.HttpMethodBase.(HttpMethodBase.java:220) 位于org.apache.commons.httpclient.methods.ExpectContinueMethod.(ExpectContinueMethod.java:93) 位于org.apache.commons.httpclient.methods.EntityEnclosingMethod.(EntityEnclosingMethod.java:119) 位于org.apache.commons.httpclient.methods.PostMethod.(PostMethod.java:106) 在SMSServiceJava.csofttpclientsmservice.sendSimpleSMS(csofttpclientsmservice.java:113) 在SMSServiceJava.csofttpclientsmservice.main(csofttpclientsmservice.java:219) 原因:java.lang.ClassNotFoundException:org.apache.commons.codec.DecoderException 位于java.net.URLClassLoader$1.run(未知源) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) 位于sun.misc.Launcher$AppClassLoader.loadClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) ... 还有6个

课堂上的例外 线程“main”java.lang.NoClassDefFoundError中的异常:org/apache/commons/codec/DecoderException 位于org.apache.commons.httpclient.HttpMethodBase.(HttpMethodBase.java:220) 位于org.apache.commons.httpclient.methods.ExpectContinueMethod.(ExpectContinueMethod.java:93) 位于org.apache.commons.httpclient.methods.EntityEnclosingMethod.(EntityEnclosingMethod.java:119) 位于org.apache.commons.httpclient.methods.PostMethod.(PostMethod.java:106) 在SMSServiceJava.csofttpclientsmservice.sendSimpleSMS(csofttpclientsmservice.java:113) 在SMSServiceJava.csofttpclientsmservice.main(csofttpclientsmservice.java:219) 原因:java.lang.ClassNotFoundException:org.apache.commons.codec.DecoderException 位于java.net.URLClassLoader$1.run(未知源) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) 位于sun.misc.Launcher$AppClassLoader.loadClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) ... 还有6个,java,exception,noclassdeffounderror,Java,Exception,Noclassdeffounderror,每当我在eclipse中运行程序时,我都会遇到上面提到的异常。只要我已经在我的类路径中被传递了相关的包。有谁能告诉我如何解决这个问题吗?您需要在类路径上找到它 参考资料:请确保类路径上存在org apache commons codec.jar。您可以从apache网站下载此文件 此jar文件包含org/apache/commons/codec/DecoderException类,因此将其添加到类路径必须解决您的问题。NoClassDefFoundError在Java中出现,因为Java虚拟机在

每当我在eclipse中运行程序时,我都会遇到上面提到的异常。只要我已经在我的类路径中被传递了相关的包。有谁能告诉我如何解决这个问题吗?

您需要在类路径上找到它


参考资料:

请确保类路径上存在
org apache commons codec.jar
。您可以从apache网站下载此文件

此jar文件包含
org/apache/commons/codec/DecoderException
类,因此将其添加到类路径必须解决您的问题。

NoClassDefFoundError
在Java中出现,因为Java虚拟机在运行时无法找到编译时可用的特定类。例如,如果我们有一个来自类的方法调用或访问类的任何静态成员,而该类在运行时不可用,那么JVM将抛出
NoClassDefFoundError

对于

添加此org.apache.Commons.codec.DecoderException所需的jar(Commons codec.jar)文件

从这里下载它并将其放在类路径中


尝试加入commons-codec-XXX.jar

您是否正在使用任何外部库?您的类路径上有哪些jar?如果您的类路径上还没有commons-codec-1.2.jar,请尝试添加它。添加commons.codec.jar 1.2版本后,问题得到解决。上一次我使用的是commons.codec.jar 1.8版本&在那个jar文件中我得到了错误。谢谢,现在它可以工作了。在添加org.apache.commons.codec.jar版本1.2之后。
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException
    at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:220)
    at org.apache.commons.httpclient.methods.ExpectContinueMethod.<init>(ExpectContinueMethod.java:93)
    at org.apache.commons.httpclient.methods.EntityEnclosingMethod.<init>(EntityEnclosingMethod.java:119)
    at org.apache.commons.httpclient.methods.PostMethod.<init>(PostMethod.java:106)
    at SMSServiceJava.CSoftHttpClientSMSService.sendSimpleSMS(CSoftHttpClientSMSService.java:113)
    at SMSServiceJava.CSoftHttpClientSMSService.main(CSoftHttpClientSMSService.java:219)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.DecoderException
    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