7

私が持っているもの:ubuntu-9.10-desktop-amd64 + NetBeans6.7.1

  1. http://hc.apache.org/downloads.cgiから「CommonsHttpClient3.1(legacy)」をダウンロードしました。
  2. IDENetBeansを使用して新しいアプリケーションを作成しました。
  3. プロジェクト->ライブラリ->JAR/フォルダーの追加に焦点を当て、ここにコモンズを追加しました-httpclient-3.1.jar
  4. これで、「importorg.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***
    

なにが問題ですか?

「HttpClient4.0(GA)」をダウンロードしてみました。しかし、結果は同じでした。

4

4 に答える 4

15

あなたが経験しているのは、依存関係が欠落しているだけです。Java開発者は、特に依存関係を収集するために使用されます。ロギングフレームワークに関しては。commons-loggingをダウンロードして、クラスパスに追加します。httpclientに必要な他のすべての依存関係も同様に実行します。

于 2009-11-21T19:11:10.713 に答える
5

依存関係が必要です。Mavenを使用した場合、彼らは自分自身をフェッチします。あなたはそうではないので、あなたはコモンズ-ロギング(そしておそらく他のもの)をダウンロードしてそれらを投げ込む必要があります。

于 2009-11-21T19:07:46.663 に答える
2

ここに来る人には、すべての回答、特に RocketSurgeon の回答が同じ意味で私の問題を解決するのに役立ったという事実を更新したいと思います。問題が解決される前に、commons httpclient (レガシー 3.1)、ロギング、およびコーデックをダウンロードする必要がありました。

また、注目すべきです。Eclipse を使用して、.jar ファイルを抽出し、「ライブラリの追加」を使用して Buildpath にインポートする必要がありました。.zip ファイルを追加するだけでは機能しませんでした。

于 2011-01-26T05:19:43.757 に答える
1

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% ですが、その間にはありません。

于 2009-11-21T21:03:51.313 に答える