我有:ubuntu-9.10-desktop-amd64 + NetBeans6.7.1
- 我刚刚从 http://hc.apache.org/downloads.cgi 下载了“Commons HttpClient 3.1(旧版)” .
- 我使用 IDE NetBeans 创建了新应用程序。
- 我专注于项目 -> 库 -> 添加 JAR/文件夹,并在此处添加 commons-httpclient-3.1.jar
- 现在,我可以写“import org.apache.commons.httpclient.*;”没关系。
但是,如果我尝试添加任何包含如下内容的语句:
public static void main(String[] args) { HttpClient client = new HttpClient(); }
编译的很好。
但是当我运行这个项目时,我收到以下错误:
***Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.commons.httpclient.HttpClient.<clinit>(HttpClient.java:66) at SimplestAppl.Main.main(Main.java:22) Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:319) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:264) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332) ... 2 more Java Result: 1***
怎么了?
我尝试下载“HttpClient 4.0 (GA)”。但结果是一样的。
最佳答案
您遇到的只是缺少依赖项。 Java 开发人员习惯于自己收集依赖项,尤其是。当谈到日志记录框架时。 下载 commons-logging 并将其添加到您的类路径中。与 httpclient 所需的所有其他依赖项一样。
关于java - Apache HttpClient 抛出 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1776415/