【发布时间】:2017-05-21 15:07:04
【问题描述】:
我编译了我找到的这个简单程序 here
package com.stackoverflow.q2835505;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Test {
public static void main(String[] args) throws Exception {
String url = "https://stackoverflow.com/questions/2835505";
Document document = Jsoup.connect(url).get();
String question = document.select("#question .post-text").text();
System.out.println("Question: " + question);
Elements answerers = document.select("#answers .user-details a");
for (Element answerer : answerers) {
System.out.println("Answerer: " + answerer.text());
}
}
}
在终端中使用此命令:
javac -cp ./jsoup-1.10.2.jar Test.java
但是当我尝试运行它时,我会这样做:
错误:无法找到或加载主类
我找不到解决方案,问题出在哪里?谢谢。
【问题讨论】:
-
@Pshemo 请考虑重新提出这个问题。除了主要的
javaclasspath 错误之外,他还有一个javac问题。我觉得我的逐步回答也可能使其他 Java 初学者受益。 (顺便说一句,我已经在我的回答中链接到上述问题)。谢谢大佬! -
@OP
but when i try to run it i take this你没有展示你如何尝试运行它。您之前的命令显示了您如何尝试编译它。 -
@PauloMattos 您所说的“他有一个超出主要 java 类路径错误的 javac 问题”是什么意思?
javac -cp ./jsoup-1.10.2.jar Test.java应该创建正确的 .class 文件(至少 OP 没有提到任何编译问题)。 “无法找到或加载主类”是从Test.class类运行main方法的问题。为了使它成为可能,OP 需要在-cp中指定包含它的包的位置。所有这一切都以一式两份的形式进行解释。无论问题是否已关闭,您的答案仍可能对其他人有所帮助,因此我认为没有理由不让它保持关闭状态。 -
@Pshemo 我也很惊讶...在 macOS 上(至少),运行
javac,没有-d .选项,将生成的Test.class放在当前目录 (而不是在预期的com/stackoverflow/q2835505/Test.class路径中)。这使得使用java运行它变得很棘手,即使使用完全限定的类名也是如此。因此,这两个问题都是相关的......
标签: java web-scraping jsoup classpath