So, I’ll file a bug about this, but I wanted to get a general feel from the list first. This happens in both Tomcat 6 and 7 (haven’t looked at 5.5), but I’ve only included the Tomcat 7 log info here for succinctness.
When running Tomcat as a service under Windows, if you mess up the Java Virtual Machine path in the service configurator, it defaults to the JAVA_HOME JRE, which I suppose is okay (but can wreak havoc when you have multiple Java versions installed), except that it doesn’t warn you about it. It tells you about it through a DEBUG message, instead, so you have to actually increase the logging detail and wade through more messages to find it: [2012-03-20 16:32:41] [debug] ( prunsrv.c:1644) Commons Daemon procrun log initialized [2012-03-20 16:32:41] [info] ( prunsrv.c:1648) Commons Daemon procrun (1.0.9.0 64-bit) started [2012-03-20 16:32:41] [info] ( prunsrv.c:1561) Running 'gr01in01tc70' Service... [2012-03-20 16:32:41] [debug] ( prunsrv.c:1345) Inside ServiceMain... [2012-03-20 16:32:41] [info] ( prunsrv.c:1089) Starting service... [2012-03-20 16:32:41] [debug] ( javajni.c:195 ) Invalid RuntimeLib 'D:\Java\jdk6\jre\bin\server\jvm.dll' [2012-03-20 16:32:41] [debug] ( javajni.c:197 ) Using Jre JavaHome 'C:\Program Files\Java\jre7' [2012-03-20 16:32:41] [debug] ( javajni.c:206 ) loading jvm 'C:\Program Files\Java\jre7\bin\server\jvm.dll' After correcting the JVM path: [2012-03-20 16:46:13] [debug] ( prunsrv.c:1644) Commons Daemon procrun log initialized [2012-03-20 16:46:13] [info] ( prunsrv.c:1648) Commons Daemon procrun (1.0.9.0 64-bit) started [2012-03-20 16:46:13] [info] ( prunsrv.c:1561) Running 'gr01in01tc70' Service... [2012-03-20 16:46:13] [debug] ( prunsrv.c:1345) Inside ServiceMain... [2012-03-20 16:46:13] [info] ( prunsrv.c:1089) Starting service... [2012-03-20 16:46:13] [debug] ( javajni.c:206 ) loading jvm 'C:\Program Files\Java\jre6\bin\server\jvm.dll' IMO, this message should be a warning or even an error (preferable) so that server admins know right off the bat that they’ve done something wrong. Thoughts?