在 OSX 上安装新的 tomcat 时启动出现故障

在 OSX 上安装新的 tomcat 时启动出现故障

我在之前没有安装 Tomcat6 的 OS X 机器上完成了 Tomcat6 的全新安装。它在其他方面表现得有点奇怪,但目前的问题是它根本无法启动。在运行 startup.sh 时,catalina.out 日志收集到以下错误:

线程“main”中的异常 java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap
原因:java.lang.ClassNotFoundException:org.apache.catalina.startup.Bootstrap
        在 java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        在 java.security.AccessController.doPrivileged(本机方法)
        在 java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        在 java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        在 java.lang.ClassLoader.loadClass(ClassLoader.java:248)

此次安装中还发现了一些奇怪的现象:

  • bin 目录中的 .sh 脚本没有执行权限,必须手动进行 chmodded。
  • 未创建日志文件夹,导致先前的脚本崩溃。在我手动创建日志文件夹后,启动脚本在失败之前遇到了这个新错误。
  • 运行 bin 文件夹中的其他脚本会生成类似的涉及 NoClassDefFoundError 的错误消息。
  • Bootstrap.java 确实在正确的位置,尽管 Bootstrap.class 不在同一文件夹中。就此而言,如果 tomcat 的无数类文件中的任何一个应该已经从其 .java 文件生成,我还没有看到它。

答案1

您的机器上运行的是哪个版本的 Java?从第一眼看到这个命令,我会说您可能正在运行 Java1.5,而这个版本的 Tomcat 需要 Java1.6,这种情况发生过几次。

答案2

我一直没有发现它是什么,但是从预编译的二进制文件安装而不是从头开始构建可以修复它。

相关内容