Linux下的Tomcat:java.lang.NoClassDefFoundError:org/apache/juli/logging/LogFactory

3

当我在Linux上启动Tomcat时,遇到了一个问题。 使用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已经在类路径中了。为什么会这样?如果您能回答我的问题,我将不胜感激。谢谢。


1
你能分享一下你的类路径吗? - Juned Ahsan
当运行./catalina.sh时,它会显示“使用CLASSPATH:/data/apache-tomcat-7.0.47/bin/bootstrap.jar:/data/apache-tomcat-7.0.47/bin/tomcat-juli.jar”。 - user3155758
似乎LogFactory需要一个不在你的类路径上的jar文件中的类,或者不在你列出的jar文件中。可能是https://dev59.com/MWsz5IYBdhLWcg3wWmfL?rq=1的重复。 - nitind
tomcat-juli.jar 一定有问题。也许文件已经损坏了。 - Pavel Horal
我经常在从Eclipse启动Tomcat时遇到这个问题(可能不适用于您的情况)。从服务器视图的上下文菜单中运行“清理...”可以解决它。这似乎是Eclipse工作区和Tomcat工作目录之间的同步问题。 - Codo
似乎你的Tomcat安装出了问题。 - rkosegi
3个回答

1
在我的情况下,错误出现在跳过引号 "" 后的 --Classpath。正确的运行脚本是:
%CATALINA_HOME%\bin\tomcat7 //IS//Tomcat7 --DisplayName="Apache Tomcat 7" --Install="C:\tomcat-7.0\bin\tomcat7.exe" --Jvm=auto --StartMode=jvm --StopMode=jvm --Classpath="%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar;%CATALINA_HOME%\bin\tomcat-juli.jar" --StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start --StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop

0

我在启动Tomcat时也遇到了同样的问题。但是在进行以下更改后,它开始正常工作。因此,您最好将下面提到的JAR文件添加到类路径中,然后重新启动Tomcat服务器。

  • bootstrap.jar
  • common-daemon.jar
  • tomcat-juli.jar

由于您已经拥有“bootstrap.jar”和“tomcat-juli.jar”,请将“common-daemon.jar”添加到类路径中并启动服务器。

干杯!


-1

前往项目 -> 清理并清理您的项目。将解决您的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接