java - 编译正常时运行时出现 NoClassDefFoundError

标签 java jsoup

我的 java 项目中有一个 jar 文件,我想在代码运行时部署它。我使用的命令是

javac -cp /home/mahmood/excel-cmd/jsoup-1.10.3.jar -verbose *.java
java TheFrame

一切都很好,我没有看到任何错误。然而,当程序到达jsoup的方法时

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
...
Document doc = doc = Jsoup.connect("A URL")
        .data("f1", gName)
        .data("ajax", "1")
        .post();

由于此错误而失败

Caused by: java.lang.NoClassDefFoundError: org/jsoup/Jsoup

完整输出可在 pastebin 处获取。 。如果我删除 -cp ,则会收到一些与未定义的 jsoup 方法相关的编译错误。所以,我想知道为什么它在运行时失败。我该如何解决这个问题?

最佳答案

java -cp .:/path/to/jar/file 我的程序

所以在你的情况下是

java -cp .:/home/mahmood/excel-cmd/jsoup-1.10.3.jar TheFrame

关于java - 编译正常时运行时出现 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47375500/

相关文章:

java - 修补 java.base 导致 java.lang.LinkageError

java - Liferay 6.2 中构建失败

java - 使用Jsoup解析Xml

html - 缺少任何 HTML 结束标记时的 Jsoup 行为

java - 使用 Jsoup 替换标签内的文本

java - 解析没有id的html表

执行网络代码后 Java UI 白屏

java - 为什么我在这里得到 ORA-00979?

java - 为什么 Display.asyncExec 或 Display.asyncExec 的 Object#wait 不是 "reasonable opportunity"?

java - 如何解析特定文本?