Vinod Kumar Rai
Vinod Kumar Rai

Reputation: 304

Tomcat failing to start with ClassNotFoundException

I'm using Tomcat v7.0 and with Eclipse IDE for a Webapp. When trying to start the server , I get the below ClassNotFoundException

java.lang.NoClassDefFoundError: org/apache/tomcat/util/digester/Rule
 at java.lang.Class.getDeclaredConstructors0(Native Method)
 at java.lang.Class.privateGetDeclaredConstructors(Class.java:2585)
 at java.lang.Class.getConstructor0(Class.java:2885)
 at java.lang.Class.newInstance(Class.java:350)
 at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:239)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:426)
Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.util.digester.Rule
 at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
 at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
 ... 6 more

On searching, I found the apache-tomcat-util 5.23 jar containing the above class but after adding the jar to the launch configuration of Tomcat I get a series of other errors. The same server installation works good in a different work space with a different webapp. What is the issue here?

Upvotes: 3

Views: 22682

Answers (3)

jose
jose

Reputation: 11

the exception "java.lang.NoClassDefFoundError: org/apache/tomcat/util/digester/Rule" may occur because the server installation was stopped before it was finished. Make sure of the % of installation when you install the server since nothing appears when we click install and it seems immediate, but in reality it takes a few seconds. No problem :-)

Upvotes: 0

chirag patel
chirag patel

Reputation: 1

In my case the only problem was version of Apache Tomcat which I used is Apache 7.0 and when I change to Apache 8.0 It will run perfectly fine.

Upvotes: 0

Christopher Schultz
Christopher Schultz

Reputation: 20837

You have broken your installation, probably before you found apache-tomcat-util-5.23.jar and most certainly after adding that JAR file to your installation. That JAR you added was from a Tomcat version that is many years old and incompatible with your newer version.

Remove your existing Tomcat installation (but save the webapps/ directory if you put anything in there you want to keep) and reinstall.

If you are still getting that error, check to make sure that your IDE is configured correctly: Tomcat comes with every JAR it needs to launch, so if it won't start, it's because of a misconfiguration with the IDE's integration.

Upvotes: 3

Related Questions