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

标签 java

为什么会出现以下情况,我该如何解决?

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 file .在当前的 Jsoup 下载页面中也明确提到了这一点。

假设您像在 previous question 中那样使用普通的 java.exe 启动它,然后这样做:

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

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

The next release of jsoup will not require Apache Commons-Lang or any other external dependencies, which brings down the jar size to around 115K.

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

关于java.lang.NoClassDefFoundError : org/apache/commons/lang/Validate 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3468027/

相关文章:

java - 用于屏蔽特定日志数据的 Logback 配置

java - 方法 .toArray(IntFunction<A[]> Generator) 如何知道新数组的大小

java - Kotlin 将 PKCS1 转换为 PKCS8

java - 如何在java中获得整数的0填充二进制表示?

java - GraphQL java 后端入门

java - 在java中删除二维数组中的一些元素

java - 如何从字符串中解析时间(小时,分钟)?

java - Spring - 使用模拟进行单元测试 - 如何在服务单元测试中模拟自定义收集器

java - 这个算法真的需要两次通过吗?

java - 亚马逊客户端异常 : Data read has a different length than the expected