java.lang.NoClassDefFoundError:org/apache/commons/lang/Validate

2023-12-04

为什么会发生以下情况以及如何解决?

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/Validate
    at org.jsoup.DataUtil.load(DataUtil.java:47)
    at org.jsoup.Jsoup.parse(Jsoup.java:57)
    at linksfind.main(linksfind.java:12)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.Validate
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 3 more

这意味着该类org.apache.commons.lang.Validate运行时类路径中缺少。您只需将包含该类的 JAR 文件添加到运行时类路径即可。这是Apache Commons Lang JAR 文件。当前的 Jsoup 下载页面也明确提到了这一点。

假设您使用普通香草来启动它java.exe就像你的一样上一个问题,然后这样做:

java -cp .;/path/to/jsoup.jar;/path/to/commons-lang.jar com.example.YourClass

请注意,Jsoup 作者有提及在下一个 Jsoup 版本中删除 Commons Lang 依赖项。

jsoup 的下一个版本将不需要 Apache Commons-Lang 或任何其他外部依赖项,这会将 jar 大小减少到大约 115K。

Jsoup 1.3.1 是第一个不再需要 Apache Commons Lang 的版本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.NoClassDefFoundError:org/apache/commons/lang/Validate 的相关文章

随机推荐