2010-09-27 44 views
1

当我启动tomcat时,出现以下异常。你能让我知道原因吗? 这是完整的堆栈跟踪。Tomcat 5:在tomcat加载期间获取juli异常

java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284) 
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) 
at org.apache.jasper.servlet.JspServlet.<init>(JspServlet.java:61) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 

感谢 沙菲

+0

我有完全相同的问题。tomcat-juli.jar不包含日志包,因此无法完成org.apache.juli.logging.LogFactory的搜索,该搜索可能位于其他位置。我重温这并没有对它做了一年多的任何工作项目,而奇怪的是,我以前没有这个问题。 – belugabob 2010-11-19 09:49:56

+0

为了解决这个问题,我不得不从的Tomcat6,是tomcat-juli.jar复制到我的Tomcat的安装5。这感觉错在许多层面上,而不是其中最重要的是,当我的应用程序最初被开发,Tomcat的6是不存在的 - 所以我无法理解应用程序之前怎么跑。 – belugabob 2010-11-24 08:17:55

+0

更新:原来,有catalina.jar在我的WEB-INF/lib目录下拷贝,删除它解决了“巨力”的问题(和另外一个太)我不知道如何到达那里,所以不要不问。 – belugabob 2010-11-26 12:30:34

回答

0

这听起来像JAR tomcat-juli.jar丢失或损坏。检查Tomcat发行归档文件的位置,然后重新安装。

[编辑]上面的堆栈跟踪说org.apache.jasper.servlet.JspServlet想要这个类。

JspServlet从哪里来?也许你已经在你的网络应用中部署了servlet.jar

你是否预编译了你的JSP或其他东西?尝试使用您在服务器上使用的Tomcat版本重新编译它们。

+0

Tomcat的juli.jar是tomcat的/ bin目录下已经存在。我试图删除它,但它的存在或缺席没有任何区别。在这两种情况下,我都收到相同的错误 – shafi 2010-09-27 09:07:33

+1

检查存档。也许它被破坏了某种程度。 – 2010-09-27 10:20:13

+0

tomcat insatllation来自新鲜下载,与一年前的文件备份中的安装完全相同,而tomcat-juli.jar文件都不包含日志记录软件包。这个类是否位于另一个jar中,这在Java世界中很常见? – belugabob 2010-11-19 10:27:05

1

只需执行以下步骤:

Tomcat的bootstrap.jar用来引用文件斌/ Tomcat的juli.jar在它的清单。这是因为它迫使tomcat使用特定的库。相反,它必须被添加到-classpath行。打开你的服务器配置,并将tomcat-juli.jar添加到类路径中,并且它将工作。

+0

我试过一样,但它没有工作:( – shafi 2010-09-27 09:24:08