我已经通过 Tomcat 安装程序在 Windows XP 上安装了 Tomcat。我已经安装了 JDK 1.6。但是当我在 XP 上从 services.msi 启动 Tomacat 时,出现以下错误:
java.lang.ClassNotFoundException: org.apache.catalina.core.AprLifecycleListener
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.misc.Launcher$ExtClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.apache.commons.digester.ObjectCreateRule.begin(ObjectCreateRule.java:204)
at org.apache.commons.digester.Rule.begin(Rule.java:152)
at org.apache.commons.digester.Digester.startElement(Digester.java:1286)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
答案1
我相信没有找到 jar catalina.jar。
Tomcat 的工作原理如下。
- 它只需要一个名为 Bootstrap.jar 的 jar。
- 然后,此 Bootstrap 通过未找到的 APR 生命周期监听器类来查找名为 APR(用于 Apache RunTime)的体系结构相关二进制库。
因此,我认为 Tomcat 安装出现了问题(这个 jar 位于 lib 文件夹中(假设 Tomcat 版本 6+))。
您是否定义了 CATALINA_HOME 环境变量(我必须检查 Windows 是否确实需要它)?
更新:您不需要窗口的 CATALINA_HOME 系统变量。当您安装 Tomcat 时,我知道您还检查了服务(可能还有)选项。
我也在想一件事,您可能有一个以前的安装(例如 tomcat 6),现在又安装了更新的(例如 tomcat 7),并且可能认为服务将是相同的。实际上不是,它们在 \HKLM\System\services 中没有相同的注册表项,新的注册表项称为 Tomcat 7。因此,您可能正在尝试使用较旧的 tomcat 设置启动新安装。最好卸载所有内容(如果您没有添加 webapps 或配置)并重新安装(勾选“本机”和“系统”选项(这些是 APR,分别用于更好的性能和新的服务设置)。