4
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.sql.*;  
public class linksfind{
public static void main(){
    String html = "http://www.apple.com/pr/";
    Document document = Jsoup.parse(html); // Can also take an URL.
    for (Element element : document.getElementsByTag("a")) {
        System.out.println(element.attr("href"));
}
}
}

みんな、上記のプログラムで、実行中にこれらのエラーを見つけました。解決する方法は?フォルダの場所にJsoup.jarファイルをダウンロードしました。他に何をすべきですか?

linksfind.java:8: cannot find symbol
symbol  : class Document
location: class linksfind
    Document document = Jsoup.parse(html); // Can also take a
    ^
linksfind.java:8: cannot find symbol
symbol  : variable Jsoup
location: class linksfind
    Document document = Jsoup.parse(html); // Can also take a
                        ^
linksfind.java:9: cannot find symbol
symbol  : class Element
location: class linksfind
    for (Element element : document.getElementsByTag("a")) {
4

3 に答える 3

10

もちろんJsoupのもの。

import org.jsoup.nodes.Document;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Element;

Jsoup API ドキュメントも参照してください。


とはいえ、実行したときにのみ現れる別の問題があります。URL をjava.lang.Stringではなく の風味で渡していますjava.net.URL。は、リソースとしてではなく、プレーンなStringHTML として扱われます。同様に修正します:

URL url = new URL("http://www.apple.com/pr/");
Document document = Jsoup.parse(url, 3000);

更新: Jsoup ライブラリがコンパイル時と実行時のクラスパスの両方に存在することを確認する必要があります。javac.exeとを使用java.exeする場合は、-cp引数を使用します。たとえば、コンパイルするには:

javac -cp .;/path/to/jsoup.jar com/example/YourClass.java

そしてそれを実行するには:

java -cp .;/path/to/jsoup.jar com.example.YourClass
于 2010-08-11T15:34:39.517 に答える
0

jsoup.jar が正しく取得されず、コンパイル中に欠落しているようです。Jsoup には依存関係 (commons lang) が 1 つしかないため、他の欠落している外部依存関係は、あなたのケースでは差し迫った問題ではないようです。

依存関係を手動で解決したくない場合は、Maven または Ivy を試して依存関係を解決することをお勧めします。

于 2010-08-11T15:41:01.217 に答える
0

クラスパスに jsoup ライブラリがないようです。次に、必要な org.jsoup.* パッケージをインポートする必要があります。

于 2010-08-11T15:34:04.557 に答える