刚刚下载了Tomcat 7.0.26,将其解压缩,运行该startup.bat文件,但失败并出现以下错误:
startup.bat
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:54) Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336) ... 1 more
一位同事建议我尝试使用旧的/更稳定的Tomcat版本。他正在运行6.0.35,所以我决定尝试一下。
我用6.0.35做了同样的事情…我发生了同样的事情…
这里发生了什么?!?!我看到bin/tomcat-juli.jarLogFactory存在(两个版本)…
bin/tomcat-juli.jar
编辑 :
这是几个环境变量的值:
.;C:\Users\<myUser>\Desktop\jars\;C:\Program Files\Java\jre6\lib\ext\QTJava.zip
C:\Program Files\Java\jdk1.6.0_25
这些似乎没有加起来!?!如果我没看错,不是说CLASSPATH认为我正在使用jre6,而是Java Home设置为jdk1.6.0_25?
jre6
jdk1.6.0_25
您的系统中可能设置了某些环境变量,这导致Tomcat无法运行。
校验:
可能性较小:
如果设置了任何这些环境变量,请更正或取消设置它们。我的猜测是,它将CATALINA_HOME指向您系统上的其他版本的Tomcat。
CATALINA_HOME