Tomcat 6.0 service does not start: java/lang/NoClassDefFoundError

I installed Tomcat on my Windows server but I can't get it to start. I start the service and I see the progress bar, but it fails.

I installed the Java Runtime Environment Version 6 and created JRE_HOME Environment variable. (C:\Program Files\Java\jre6)

Below is the jakarta_serviceYYYMMDD.log entries:

[2010-04-08 14:22:42] [info] Commons Daemon procrun (1.0.2.0) started
[2010-04-08 14:22:42] [info] Running Service...
[2010-04-08 14:22:42] [info] Starting service...
[2010-04-08 14:22:42] [info] Error occurred during initialization of VM
[2010-04-08 14:22:42] [info] java/lang/NoClassDefFoundError
[2010-04-08 14:22:42] [info] : java/lang/Object

How can I fix this problem?


Solution 1:

By the look of the error the Tomcat native launcher does not find the rt.jar file in your JRE install.

Make sure that:

  • the JVM is correctly installed;
  • the JRE_HOME variable points to it.

Solution 2:

I had the same error with Windows 7, Tomcat 7.0, and JDK 1.6.0_31. I fixed it by changing the path to the JVM from C:\Program Files\Java\jre6\bin\server\jvm.dll to C:\Program Files\Java\jdk1.6.0_31\jre\bin\server\jvm.dll. To do that, run Tomcat7w.exe from the Tomcat bin directory, switch to the Java tab, and change the Java Virtual Machine entry.