【问题标题】:tomcat in linux:java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactorylinux中的tomcat:java.lang.NoClassDefFoundError:org/apache/juli/logging/LogFactory
【发布时间】: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


【解决方案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

【讨论】:

    【解决方案2】:

    好吧,我在启动 tomcat 时也遇到了同样的问题。但是在进行更改后,它开始正常工作。所以你最好将下面提到的 jar 添加到你的类路径中,然后再次启动 tomcat 服务器。

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

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

    干杯!!

    【讨论】:

      【解决方案3】:

      转到项目->清理并清理您的项目。会解决你的问题

      【讨论】:

        猜你喜欢
        • 2010-11-26
        • 1970-01-01
        • 1970-01-01
        • 2018-09-13
        • 2016-01-25
        • 1970-01-01
        • 2015-05-25
        • 2019-01-23
        • 1970-01-01
        相关资源
        最近更新 更多