雄猫版本没有启动



刚下载Tomcat 7.0.26,解压缩它,运行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.jar中看到LogFactory在那里(两个版本)。。。

编辑

以下是几个环境变量的值:

  • 类路径:.;C:Users<myUser>Desktopjars;C:Program FilesJavajre6libextQTJava.zip
  • JAVA_HOME:C:Program FilesJavajdk1.6.0_25

这些似乎加不起来!?!如果我读对了,它不是说CLASSPATH认为我在使用jre6,但Java Home设置为jdk1.6.0_25吗?

您的系统中可能设置了一些环境变量,导致Tomcat无法运行。

检查:

  • CATALINA_HOME
  • CATALINA_BASE
  • CATALINA_OPS(用于添加类路径)
  • JAVA_OPTS(用于类路径添加)

可能性较小:

  • LOGGING_CONFIG
  • 日志管理器

如果设置了这些环境变量中的任何一个,请更正或取消设置它们。我的猜测是,CATALINA_HOME被设置为指向您系统上不同版本的Tomcat。

我在2小时前下载了Tomcat 7.0.26,它运行良好。在类路径中的任何位置(路径变量、jre版本/lib等)都有一个旧版本的commons-logging.jar

我也遇到了同样的问题。我所做的只是将[apache tomcat]/lib目录中的所有jar文件和[apache tomcat]/bin中的所有jar文件复制到[jdk directory]/jre/lib/ext目录中。这应该能解决问题。

最新更新