必须导入哪些包?

时间:2010-08-11 15:32:44

标签: java jsoup

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")) {

3 个答案:

答案 0 :(得分:10)

当然是Jsoup的那些。

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

另见Jsoup API documentation


也就是说,还有一个问题只会在你运行时出现:你传递的网址是java.lang.String而不是java.net.URLString将被视为纯HTML,而不是资源。修复它:

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

更新:您只需确保在编译时和运行时类路径中都存在Jsoup库。使用javac.exejava.exe时,请使用-cp参数。例如。编译它:

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

并执行它:

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

答案 1 :(得分:0)

看起来你错过了类路径中的jsoup库。然后,您必须导入所需的org.jsoup。*包,

答案 2 :(得分:0)

看起来jsoup.jar在编译期间没有正确拾取并丢失。 Jsoup only has one dependendy (commons lang),所以其他缺少的外部依赖项似乎不是您的直接问题。

如果您不想手动执行,可能需要尝试使用Maven或Ivy来解决依赖关系。