LGAP
LGAP

Reputation: 2463

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

Why does the following happen and how can I fix it?

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

Upvotes: 5

Views: 52017

Answers (4)

shashi
shashi

Reputation: 400

You can download the Jar from http://mvnrepository.com/artifact/commons-lang/commons-lang/2.4

Upvotes: 1

BalusC
BalusC

Reputation: 1108722

This means that the class org.apache.commons.lang.Validate is missing in the runtime classpath. You just have to add the JAR file containing the class to the runtime classpath. It's the Apache Commons Lang JAR file. This is also explicitly mentioned at the current Jsoup download page.

Assuming that you're launching it using plain vanilla java.exe like as in your previous question, then do so:

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

Note that the Jsoup author has mentioned to remove the Commons Lang dependency in the next Jsoup release.

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 is the first version which does not require Apache Commons Lang anymore.

Upvotes: 9

Kingo
Kingo

Reputation: 450

Looks like you need the jar file in your classpath. From google it could be commons-lang-2.4.jar or similar

Upvotes: 2

polygenelubricants
polygenelubricants

Reputation: 383746

You need to download the Apache Commons/Lang and make sure it's included in CLASSPATH (or if using IDE, make sure that all required libraries are included in the build configuration).

See also

Upvotes: 3

Related Questions