java.lang.NoClassDefFoundError:org / apache / commons / lang / Validate
为什么会发生以下情况?如何解决?
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下载页面中也明确提到了这一点。
假设您使用普通的vanilla 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的版本。
您需要下载Apache Commons / Lang并确保它包含在CLASSPATH
(或者如果使用IDE,请确保构建配置中包含所有必需的库)。
也可以看看
- Java教程/平台环境/ PATH和CLASSPATH
看起来您需要在类路径中使用jar文件。 从谷歌可能是commons-lang-2.4.jar或类似的
您可以从http://mvnrepository.com/artifact/commons-lang/commons-lang/2.4下载Jar
- Google Drive Android API – 无效的DriveId和Null ResourceId
- 如何在Java Android中为客户端请求设置HttpPost标头
- Android – Paho Mqtt客户端在网络连接更改后不会收到消息(移动数据已禁用并再次启用)
- Eclipse在调试时跳过行
- 要“null”或不“null”我的类的属性
- 使用String literal 创建String对象时调用哪个String类构造函数
- 为什么不总是在Java中使用ArrayLists而不是普通的’数组?
- Android getExternalStorageDirectory不会返回任何文件
- 如何使用Swipe视图实现android TabLayout设计支持libarary