java - 运行包含 Jsoup 依赖项的 java 类文件的问题

标签 java terminal classpath jsoup javac

我目前遇到一个问题,我认为它可以解决一些类路径问题,但我还没有找到任何解决方法。我目前有以下 java 代码:

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTest {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {

        String url = "http://en.wikipedia.org/wiki/Main_Page";

        Document doc = Jsoup.connect(url).get();

        String result = doc.text();

        System.out.println(result);
    }

}

我将 jsoup-1.7.3.jar 文件放在与 java 文件相同的目录中(为简单起见)。

我运行了命令“javac -cp .:jsoup-1.7.3.jar JsoupTest.java”,它编译并运行良好。但是,当我去运行“java JsoupTest”时,出现以下错误

java JsoupTest

Exception in thread "main" java.lang.NoClassDefFoundError: org/jsoup/Jsoup
    at JsoupTest.main(JsoupTest.java:31)
Caused by: java.lang.ClassNotFoundException: org.jsoup.Jsoup
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 1 more

可能的错误是什么?我应该如何修复它?我相信这是一个类路径问题,但在我编译它时应该已经设置了类路径吗?任何帮助,将不胜感激。谢谢。

最佳答案

和编译命令一样需要将jar包含在classpath中

java -cp .:jsoup-1.7.3.jar JsoupTest

对于 Windows 使用 .; 而不是 .:

java -cp .;jsoup-1.7.3.jar JsoupTest

关于java - 运行包含 Jsoup 依赖项的 java 类文件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22362816/

相关文章:

terminal - Terminfo smkx 和应用程序光标键与应用程序键盘

java - 如何编译调用MeCab - 日语词性和词法分析器的java文件?

java - Maven编译加载动态类

java - 并行运行器跳过测试内的循环迭代

java - 语法错误: insert to complete classbody and mainclass

java - 使用两个 FileWriter,其中一个追加,另一个不追加

macos - 在终端 MacOS 上运行 ffmpeg

C++ 打印到终端会显着减慢代码速度吗?

java - 使用文件集和路径元素在 build.xml 中设置类路径的区别

java - 如何覆盖 hibernate 集合连接列?