簡體   English   中英

Apache HttpClient拋出NoClassDefFoundError

[英]Apache HttpClient throws a NoClassDefFoundError

我有:ubuntu-9.10-desktop-amd64 + NetBeans6.7.1

  1. 我剛從http://hc.apache.org/downloads.cgi下載了“Commons HttpClient 3.1(legacy)”。
  2. 我使用IDE NetBeans創建了新的應用程序。
  3. 我專注於項目 - >庫 - >添加JAR /文件夾,這里添加了commons-httpclient-3.1.jar
  4. 到現在為止,我可以寫“import org.apache.commons.httpclient。*;” 還行吧。
  5. 但是,如果我嘗試添加包含以下內容的任何語句:

     public static void main(String[] args) { HttpClient client = new HttpClient(); } 
  6. 編譯得很好。

  7. 但是當我運行這個項目時,我收到以下錯誤:

     ***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所需的所有其他依賴項一樣。

您需要依賴項。 如果你使用了maven,他們會自己取而代之。 既然你不是,你必須下載commons-logging(也許還有其他人)並將它們扔進去。

我想更新任何來到這里的人,所有答案,特別是RocketSurgeon,都幫助我解決了我的問題。 在我的問題得到解決之前,我不得不下載公共httpclient(遺留3.1),日志記錄和編解碼器。

另外值得注意的; 使用Eclipse我必須提取.jar文件並使用“add library”將它們導入Buildpath。 僅僅添加.zip文件無效。

如果你不想使用Maven,那么

- build and launch, look at missing dependencies
- identify vendor, fetch the jar to resolve dependencies
- rinse/repeat until you have all dependencies satisfied
- done

無論如何,你永遠不會確定是否所有依賴都是100%提供的。 它通常在150%或99%左右,但從不介於兩者之間

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM