【发布时间】:2014-01-20 16:17:20
【问题描述】:
当我在 linux 中启动 tomcat 时,我遇到了一个问题。
Using CLASSPATH:/data/apache-tomcat-7.0.47/bin/bootstrap.jar:/data/apache-tomcat-7.0.47/bin/tomcat-juli.jar
`Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:60)
Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
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:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 1 more`
我知道找不到该类,但 jar 已在类路径中。所以为什么?如果您能回答我的问题,我将不胜感激。谢谢。
【问题讨论】:
-
你也可以分享你的类路径吗?
-
./catalina.sh 运行时显示“使用 CLASSPATH:/data/apache-tomcat-7.0.47/bin/bootstrap.jar:/data/apache-tomcat-7.0.47/bin /tomcat-juli.jar"
-
似乎 LogFactory 可能需要来自不在您的类路径中的 jar 中的类,或者不在您列出的 jar 中。可能是stackoverflow.com/questions/7955442/… 的副本
-
tomcat-juli.jar肯定有问题。可能文件已损坏。 -
我从 Eclipse 启动 Tomcat 时经常遇到这个问题(可能不适用于您的情况)。从服务器视图的上下文菜单中运行“清理...”可以修复它。好像是Eclipse工作区和Tomcat工作目录的同步问题。
标签: java apache tomcat tomcat-juli