If I do something that results in an error, e.g. using Java 7u45 and running > tool-wrapper.bat foo it fails with Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tomcat/util/ExceptionUtils at org.apache.catalina.startup.Tool.main(Tool.java:204) Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.util.ExceptionUtils 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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 1 more The cause is that org.apache.catalina.startup.Tool depends on ExceptionUtils class that is not present in bootstrap.jar. When I do something successfully, e.g. run > digest.bat -a md5 helloworld it completes successfully. Alternatively, we can add lib/tomcat-util.jar to the classpath created by tool-wrapper{.bat|.sh} script, or add the ExceptionUtils class to bootstrap.jar. Tool class also depends on org.apache.catalina.Globals, but that only pulls in several constant strings and does not cause problems at runtime.
Fixed in 8.0.x for 8.0.0 onwards.