java.lang.NoClassDefFoundError:org/apache/juli/logging/LogFactory

Mic*_*ael 29 eclipse tomcat

似乎在启动我的Java应用程序时遇到问题:

线程"main"中的异常java.lang.NoClassDefFoundError:org.apache.catalina.util.LifecycleBase中的org/apache/juli/logging/LogFactory.(LifecycleBase.java:37)引起:java.lang.ClassNotFoundException:org.位于java.net.URLClassLoader的java.net.URLClassLoader $ 1.run(URLClassLoader.java:366)中的apache.juli.logging.LogFactory java.security.AccessController.doPrivileged(Native Method)中的java.net.URLClassLoader $ 1.run(URLClassLoader.java:355) )at java.lang.ClassLoader.findClass(URLClassLoader.java:354)at java.lang.ClassLoader.loadClass(ClassLoader.java:423)at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308)at java .lang.ClassLoader.loadClass(ClassLoader.java:356)......还有1个

在这里尝试了解决方案: java.lang.NoClassDefFoundError:org/apache/juli/logging/LogFactory

但我已经看到了tomcat-juli.jar.我也在使用Tomcat 7.可能出错了什么?

Mas*_*ini 16

您的vm没有找到类org/apache/juli/logging/LogFactory检查您使用的tomcat-juli.jar中是否存在此类(解压缩并搜索文件),如果不存在则从apache网站下载该库,如果它存在则将其放入tomcat -juli.jar在Tomcat用于加载类的路径(lib目录)中.如果您的Tomcat找不到它,您可以将jar复制到您正在使用的JRE的lib目录中.


Kyl*_*ull 12

tomcat-embed-core::7.0.47从Maven 使用时我遇到了这个问题.我不确定为什么他们没有添加tomcat-util为运行时依赖项,所以我将自己的运行时依赖项添加到我自己的项目中.

<dependency>
  <groupId>org.apache.tomcat</groupId>
  <artifactId>tomcat-util</artifactId>
  <version><!-- version from tomcat-embed-core --></version>
  <scope>runtime</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)


her*_*ung 8

这发生在我身上,因为我使用Tomcat 5.5 catalina.sh文件和Tomcat 7安装.使用catalina.shTomcat 7安装附带的问题解决了这个问题.

  • @AdityaSingh这**是一个答案.它包括问题的诊断和决议的规范.它恰好是**succint** - 这绝不会使它失去资格. (7认同)

小智 7

如果您使用jsvc将tomcat作为tomcat运行(/etc/init.d/tomcat以root 身份运行),请编辑/etc/init.d/tomcat并添加$CATALINA_HOME/bin/tomcat-juli.jarCLASSPATH.


Sta*_*ler 5

我遇到了同样的问题,对我有帮助的是:

  1. 右键单击该项目。
  2. 单击“属性
  3. 转到“ Java 构建路径
  4. 然后:“图书馆
  5. 在那里,单击:添加外部罐子
  6. 添加:''路径/To/Tomcat/Bin/tomcat-juli.jar

完毕 。