【问题标题】:Tomcat (7, 8) fails to start with java.lang.ClassNotFoundException: org.apache.tomcat.util.res.StringManagerTomcat (7, 8) 无法启动 java.lang.ClassNotFoundException: org.apache.tomcat.util.res.StringManager
【发布时间】:2016-01-17 11:10:29
【问题描述】:

我正在尝试将 Apache Tomcat 安装到 OS X El Capitan。我按照these 的说明进行操作,基本上要求下载、解压缩并运行启动脚本。但是,当我输入 localhost 或 localhost:8080 时,主页不会打开。我检查了 Tomcat 配置为端口 8080。我检查了该端口是否正忙于命令sudo lsof -i :8080,这表明该端口未被使用。此外,我检查了catalina.out并发现了这条日志消息:

java.lang.NoClassDefFoundError: org/apache/tomcat/util/res/StringManager
    at org.apache.catalina.startup.Catalina.<clinit>(Catalina.java:74)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at java.lang.Class.newInstance(Class.java:442)
    at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:268)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.util.res.StringManager
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 8 more

我尝试在线搜索异常,但找不到任何东西。

我还尝试下载 Tomcat(7 和 8)的新副本,但仍然抛出相同的异常。

希望有人可以帮助我找到解决方案。 谢谢。

【问题讨论】:

  • 你有哪个 Java 版本?
  • 您好,目前我使用的是 Java 8。Tomcat 网站说 Tomcat 7 和 8 分别支持 Java 6 及更高版本和 Java 7 及更高版本。
  • 检查您的下载没有损坏,并且您完全解压缩了它。您应该做的就是解压缩并运行。您确实需要 java 6 或更高版本
  • @David,我已经尝试重新下载 tomcat,以及不同的版本(7 和 8)。它没有帮助(

标签: java tomcat


【解决方案1】:

您的 {CATALINA_HOME}/lib 文件夹中有 tomcat-util.jar 吗?如果存在,那么您的 tomcat 类路径一定有问题。

【讨论】:

  • 其实我文件夹里确实有那个jar)
猜你喜欢
  • 2013-04-23
  • 2015-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-20
  • 2014-04-24
  • 1970-01-01
相关资源
最近更新 更多