java.lang.NoClassDefFoundError: org/apache/oro/text/perl/Perl5Util

Problem

Validate an URL with Apache common URLValidator to validate an URL, but it hits following error message ?

java.lang.NoClassDefFoundError: org/apache/oro/text/perl/Perl5Util
	at org.apache.commons.validator.UrlValidator.isValid(UrlValidator.java:242)
	...
Caused by: java.lang.ClassNotFoundException: org.apache.oro.text.perl.Perl5Util
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	... 28 more

Solution

The URLValidator class is required Jakarta-ORO library, make sure you include the oro-xxx.jar into your project class path.

You can get oro-xxx.jar from :
1. Jakarta-ORO official site – http://jakarta.apache.org/oro/index.html
2. Maven central repository

<dependency>
	<groupId>oro</groupId>
	<artifactId>oro</artifactId>
	<version>2.0.8</version>
</dependency>
Tags :

About the Author

mkyong
Founder of Mkyong.com and HostingCompass.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

  • Pastafarian

    Use the org.apache.commons.validator.routines.EmailValidator version 1.4. No Oro dependency

  • Andres

    Hi, i’m using spring (with out maven) and i having “NoClassDefFoundError” error, any idea how a can refer a class from the xml??.

    The xml is:

     
    &lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
    	xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
    	xsi:schemaLocation=&quot;http://www.springframework.org/schema/beans
    	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&quot;&gt;
     
    	&lt;bean id=&quot;helloBean&quot; class=&quot;Hello&quot; /&gt;
     
    &lt;/beans&gt;

    Thanks, great tutorials.
    SAlute

    • http://www.mkyong.com mkyong

      Make sure your class in available in your project classpath.

  • Valter

    Oro is retired, so what I do now ?

    • Gerasimos

      I second the above question. Do you know what can be done now that oro is retired? Thanks for the tutorials btw.