必须导入哪些包?

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

当然是Jsoup的。

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

另请参阅Jsoup API文档 。


也就是说,还有另一个问题只会在你运行它时才会出现:你传递的是java.lang.String而不是java.net.URL的URL。 String将被视为纯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 

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

看起来jsoup.jar在编译期间没有正确拾取并丢失。 Jsoup只有一个dependendy(commons lang) ,所以其他缺少外部依赖关系似乎不是你的情况下的直接问题。

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