找不到类错误: org/apache/juli/logging/LogFactory

5

尝试启动tomcat7时出现以下错误:

Buildfile: E:\Workspace\test\config\deploy\build.xml
tomcat.start:
     [java] java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
     [java]     at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:60)
     [java] Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
     [java]     at java.net.URLClassLoader$1.run(Unknown Source)
     [java]     at java.security.AccessController.doPrivileged(Native Method)
     [java]     at java.net.URLClassLoader.findClass(Unknown Source)
     [java]     at java.lang.ClassLoader.loadClass(Unknown Source)
     [java]     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
     [java]     at java.lang.ClassLoader.loadClass(Unknown Source)
     [java]     ... 1 more
     [java] Could not find the main class: org.apache.catalina.startup.Bootstrap. Program will exit.
     [java] Exception in thread "main" 
     [java] Java Result: 1
BUILD SUCCESSFUL
Total time: 923 milliseconds

我使用这个链接:[ https://dev59.com/MWsz5IYBdhLWcg3wWmfL?lq=1 ] 并将 "tomcat-juli.jar" 复制到我的JRE中,但是似乎没有起作用。
谢谢。
附言:当我从Tomcat 6更改为7时,我遇到了这个错误,我的项目在此更改之前可以正常工作!

1
重复:https://dev59.com/MWsz5IYBdhLWcg3wWmfL?lq=1 - ukanth
是的,我知道。我在那个主题中做了所有的事情,并在我的问题中引用了它,但对我来说没有起作用。 - SDWACW
5个回答

8

这个错误是由于Eclipse启动环境中缺少tomcat-juli.jar而导致的。

我通过以下步骤解决了这个问题 -

1.在“服务器”视图中双击已安装的Ode v1.x服务器。

2.单击“打开启动配置”。

3.选择“类路径”选项卡 > 添加外部JAR文件 > [您的TOMCAT_DIR]\bin\tomcat-juli.jar。

4.单击“应用”然后单击“确定”。

5.启动Tomcat服务器。


2
请检查您的Tomcat服务器是否在$TOMCAT_HOME/lib目录下有tomcat-juli.jar文件。看起来是Tomcat服务器JAR文件的问题。请检查您的安装是否正确。
注意:请查看错误信息:

找不到主类:org.apache.catalina.startup.Bootstrap。程序将退出。

它甚至无法启动,因为它找不到主类。

谢谢 :) 我该如何检查安装是否正确? - SDWACW
@SDWACW 检查您的 lib 目录中是否有所有的 .jar 文件? - Keerthivasan
我检查了,我在lib文件夹中有所有的jar包。 - SDWACW
好的,请从此链接重新下载 - http://mirror.nexcess.net/apache/tomcat/tomcat-7/v7.0.55/bin/apache-tomcat-7.0.55.zip - Keerthivasan
只是我的问题出错了,意思是:java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory 和... - SDWACW
Centos上的完整路径为:/usr/share/tomcat/lib/tomcat-juli.jar;默认情况下会被安装,如果缺少该文件,则说明您的设置存在问题。 - Berend de Boer

0

看起来你的类路径中缺少 tomcat-juli.jar。请下载并将其添加到你的类路径中。


1
谢谢 :) ,但它已经存在于我的类路径中了!- Tomcat 的 bin 文件夹- - SDWACW
我必须位于“lib”文件夹中,而不是“bin”中。 - Jens
@SDWACW,你重启了Tomcat吗? - Jens
@SDWACW,你能看一下这个 jar 包并确认其中是否有这个类吗?并且这个 jar 包在构建时是否已经添加到了类路径中? - Jens

0

尝试通过类路径条目引用jar文件,

目前它没有被引用, 并确保您已正确安装了Tomcat。


有人指出这是一个重复的问题,请尝试进行更改,如果不起作用,您的构建文件可能在捣鬼。 - Vihar
你正在使用Tomcat 7.0.43或更高版本吗? - Vihar
请使用此链接 https://issues.apache.org/bugzilla/show_bug.cgi?id=55336,它可能是您问题的原因。 - Vihar
让我们在聊天中继续这个讨论:http://chat.stackoverflow.com/rooms/60802/discussion-between-vihar-and-sdwacw。 - Vihar
我有完全相同的问题,你找到解决方案了吗? - Lucas Cimon
显示剩余5条评论

0

我正在使用Windows批处理文件启动Tomcat。这个问题出现在Tomcat 7 + 8 + 8.5版本上。你需要将bootstrap.jar和tomcat-juli.jar添加到你的类路径中。

我的批处理文件解决方案:

@echo off
SET TOMCAT_OPTS=-cp bootstrap.jar;tomcat-juli.jar
REM Go to your tomcat/bin directory
cd tomcat/bin
catalina.bat start

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