问题描述
我在此处
进行了这个简单程序的编译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
但是当我尝试运行它时,我会这样做:
我找不到解决方案,问题出在哪里?谢谢.
您可能在这里遇到了多个问题...
Javac .可以肯定的是,像这样编译Java应用程序:
javac -cp ./jsoup-1.10.2.jar -d . Test.java
-d
选项可确保将已编译的类放在相应的 package 目录中:
com/stackoverflow/q2835505/Test.class
,而不是当前目录上.让我们检查手册页只是确定(-d
选项):
Java .最后,使用以下命令运行它:
java -cp .:./jsoup-1.10.2.jar com.stackoverflow.q2835505.Test
这将使用当前目录(.
)和jsoup-1.10.2.jar
作为类路径来运行您的应用程序.当前目录为强制性,因此java
会找到您的Test.class
以及JSoup jar.
有关java
命令语法的更多信息,请参见这个不错的答案.
I do the compilation of this simple programm i found 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());
}
}
}
with this command in terminal:
javac -cp ./jsoup-1.10.2.jar Test.java
but when i try to run it i take this:
and I can't find the solution, where is the problem? Thanks.
You might be running into more than one issue here...
Javac. To be sure, compile your Java app like this:
javac -cp ./jsoup-1.10.2.jar -d . Test.java
the -d
option ensures that the compiled class is placed in the corresponding package directory:
com/stackoverflow/q2835505/Test.class
and not on your current directory. Let's check the man page just to be sure (-d
option):
Java. Finally, run it using:
java -cp .:./jsoup-1.10.2.jar com.stackoverflow.q2835505.Test
this runs your app using your current directory (.
) and jsoup-1.10.2.jar
as your class path. The current directory is mandatory so java
finds your Test.class
as well as the JSoup jar.
See this nice answer for a lot more information on the java
command syntax.
这篇关于无法在简单的Java Soup应用程序上找到或加载主类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!