gpt4 book ai didi

java - Mac OS X 上的 Tomcat 6.0

转载 作者:行者123 更新时间:2023-11-28 22:07:16 24 4
gpt4 key购买 nike

嘿,我正在尝试在 Mac OS X - Snow Leopard 上运行 Apache Tomcat 6.0.26,但没有成功:(

我已经从以下位置下载了 Tomcat 核心:http://tomcat.apache.org/download-60.cgi在/Livrary/Tomcat 目录中取消存档,但是当我尝试使用 log/catalina.out 日志中的 ./bin/startup.sh 命令运行它时,它似乎找不到 servlet-api:

SEVERE: Error deploying configuration descriptor host-manager.xml
java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String;
at org.apache.catalina.core.StandardHost$MemoryLeakTrackingListener.lifecycleEvent(StandardHost.java:561)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4462)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

在启动期间,它会登录到它正在使用的控制台 CLASSPATH:

Using CLASSPATH:       /Library/Tomcat/bin/bootstrap.jar

我没有尝试部署我自己的应用程序 (*.war),它只是“干净的”Tomcat。

最佳答案

可能您的系统类路径以某种方式被 2.5 之前的 servlet API jar 污染了。

您可以通过运行 java javax.servlet.http.HttpServlet 来检查它 - 它应该抛出 NoClassDefFound。如果它抛出 NoSuchMethodError,请检查您的类路径(尤其是 CLASSPATH 环境变量和 JRE 安装的 lib/ext 子文件夹)。

编辑:尝试以下代码 - 至少它会显示有问题的 jar 的位置:

public class Test {
public static void main(String[] args) throws Exception {
System.out.println(
Test.class.getClassLoader().getResource("javax/servlet/http/HttpServlet.class"));
}
}

关于java - Mac OS X 上的 Tomcat 6.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3086922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com