从异常类型-Java中识别缺少的JAR

从异常类型-Java中识别缺少的JAR,java,exception,jar,apache-commons,Java,Exception,Jar,Apache Commons,如果由于缺少jar文件而发生异常,那么有没有办法回溯并找出缺少的jar文件 假设出现以下异常: java.lang.NoClassDefFoundError: org/apache/commons/httpclient/HttpMethod 这是由于缺少commons-httpclient-3.0.1.jar文件造成的。无法找到哪个jar有哪个类文件。如果您能猜出缺少了哪个jar,那么您只能在此基础上找到缺少的类的包结构,如org/apache/commons/httpclient 这很难,因为

如果由于缺少jar文件而发生异常,那么有没有办法回溯并找出缺少的jar文件

假设出现以下异常:

java.lang.NoClassDefFoundError: org/apache/commons/httpclient/HttpMethod


这是由于缺少commons-httpclient-3.0.1.jar文件造成的。

无法找到哪个jar有哪个类文件。如果您能猜出缺少了哪个jar,那么您只能在此基础上找到缺少的类的包结构,如
org/apache/commons/httpclient


这很难,因为任何jar都可以在任何包结构中包含类。

我使用findjar()来知道哪个jar将包含一个特定的类,根据这个类,我将调查jar是否在类路径中。

例如,请参阅答案。Think将解决您的问题。另外,类加载器不关心JAR文件。它将它们视为类路径目录结构的一部分。jar只是压缩文件系统。所以这是绝对正确的。