gpt4 book ai didi

java - 使用外部 jar 运行编译的程序时出错

转载 作者:行者123 更新时间:2023-12-01 11:28:57 27 4
gpt4 key购买 nike

我在一个文件夹中有一个简单的 jsoup 测试应用程序,其中有 2 个类 - LyricsGetter.java 和 Main.java - 以及一个带有 jsoup 库的 .jar 文件。当我使用命令 javac -cp jsoup-1.8.2.jar LyricsGetter.java Main.java 编译文件时,一切编译正常,但是当我尝试使用 java Main 运行时,我得到:

Exception in thread "main" java.lang.NoClassDefFoundError: org/jsoup/Jsoup
at LyricsGetter.getLyrics(LyricsGetter.java:16)
at Main.main(Main.java:14)
Caused by: java.lang.ClassNotFoundException: org.jsoup.Jsoup
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more

另一方面,如果我使用 java -cp jsoup-1.8.2.jar Main 运行,则会收到 Error: Could not find or load main class Main 。那么,运行这个程序的正确方法是什么?

最佳答案

您需要告诉 Java 在 jsoup-1.8.2.jar 和当前文件夹 (.) 中查找类。

在 Windows 上,使用:

java -cp jsoup-1.8.2.jar;. Main

或者在 Linux、OSX 或其他类 Unix 系统上使用:

java -cp jsoup-1.8.2.jar:. Main

(区别在于路径在 Windows 上用 ; 分隔,在 *nix 上用 : 分隔)

关于java - 使用外部 jar 运行编译的程序时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30584380/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com