Tomcat无法以ClassNotFoundException开始

时间:2016-01-12 00:38:44

标签: eclipse tomcat tomcat7

我正在使用Tomcat v7.0和Eclipse IDE来使用Webapp。尝试启动服务器时,我得到以下ClassNotFoundException

java.lang.NoClassDefFoundError: org/apache/tomcat/util/digester/Rule
 at java.lang.Class.getDeclaredConstructors0(Native Method)
 at java.lang.Class.privateGetDeclaredConstructors(Class.java:2585)
 at java.lang.Class.getConstructor0(Class.java:2885)
 at java.lang.Class.newInstance(Class.java:350)
 at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:239)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:426)
Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.util.digester.Rule
 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:425)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
 ... 6 more

在搜索时,我发现包含上述类的apache-tomcat-util 5.23 jar但在将jar添加到Tomcat的启动配置后,我得到了一系列其他错误。相同的服务器安装在具有不同webapp的不同工作空间中工作良好。这是什么问题?

2 个答案:

答案 0 :(得分:1)

您可能在找到apache-tomcat-util-5.23.jar之前破坏了您的安装,并且在将JAR文件添加到您的安装之后肯定是这样。您添加的JAR来自Tomcat版本,该版本已有很多年历史,与您的新版本不兼容。

删除现有的Tomcat安装(但如果您要保留任何内容,请保存webapps/目录)并重新安装。

如果您仍然遇到该错误,请检查以确保您的IDE配置正确:Tomcat随每个需要启动的JAR一起提供,因此如果它无法启动,则是因为IDE的集成配置错误。

答案 1 :(得分:0)

在我的情况下,唯一的问题是我使用的Apache Tomcat版本是Apache 7.0,当我更改为Apache 8.0时,它将运行得很好。