Java catalina.bat开始不工作

Java catalina.bat开始不工作,java,tomcat,servlets,nosuchmethoderror,Java,Tomcat,Servlets,Nosuchmethoderror,我在启动tomcat时遇到了一些问题,原因很奇怪 开始之前没有问题。错误太长,我无法复制它 完全从命令提示中删除。有人知道会出什么问题吗 C:\apache-tomcat-7.0.8\bin>catalina.bat start Using CATALINA_BASE: "C:\apache-tomcat-7.0.8" Using CATALINA_HOME: "C:\apache-tomcat-7.0.8" Using CATALINA_TMPD

我在启动tomcat时遇到了一些问题,原因很奇怪 开始之前没有问题。错误太长,我无法复制它 完全从命令提示中删除。有人知道会出什么问题吗

    C:\apache-tomcat-7.0.8\bin>catalina.bat start

    Using CATALINA_BASE:   "C:\apache-tomcat-7.0.8"
    Using CATALINA_HOME:   "C:\apache-tomcat-7.0.8"
    Using CATALINA_TMPDIR: "C:\apache-tomcat-7.0.8\temp"

    Using JRE_HOME:        "C:\Program Files (x86)\Java\jdk1.6.0_23"
    Using CLASSPATH:       "C:\apache-tomcat-7.0.8\bin\bootstrap.jar;C:\apache-tomca
    t-7.0.8\bin\tomcat-juli.jar"



            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
    va:1035)

            at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.
    java:291)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.StandardService.startInternal(StandardServic

    e.java:443)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.StandardServer.startInternal(StandardServer.
    java:724)

            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.startup.Catalina.start(Catalina.java:620)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)

            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:304)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)

    12-Apr-2011 8:02:23 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory examples
    12-Apr-2011 8:02:23 PM org.apache.catalina.startup.HostConfig deployDirectory

    SEVERE: Error deploying web application directory examples
    java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig
    ()Ljavax/servlet/SessionCookieConfig;
            at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1281)

            at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.jav
    a:1276)
            at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfi
    g.java:874)

            at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi
    g.java:317)
            at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
    eSupport.java:119)

            at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
    se.java:89)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContex
    t.java:4974)

            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
    .java:812)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:78

    7)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607)

            at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
    a:1044)

            at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
    ava:967)
            at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472
    )
            at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1302)

            at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
    :311)
            at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
    eSupport.java:119)

            at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa
    se.java:89)
            at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:34
    3)

            at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:32
    3)
            at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
    va:1043)
            at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java

    :774)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
    va:1035)
            at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.

    java:291)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.StandardService.startInternal(StandardServic
    e.java:443)

            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.StandardServer.startInternal(StandardServer.
    java:724)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

            at org.apache.catalina.startup.Catalina.start(Catalina.java:620)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.

    java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:304)

            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
    12-Apr-2011 8:02:23 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory host-manager

    12-Apr-2011 8:02:23 PM org.apache.catalina.startup.HostConfig deployDirectory
    SEVERE: Error deploying web application directory host-manager
    java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig

    ()Ljavax/servlet/SessionCookieConfig;
            at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1281)
            at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.jav

    a:1276)
            at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfi
    g.java:874)
            at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi

    g.java:317)
            at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
    eSupport.java:119)
            at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa

    se.java:89)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContex
    t.java:4974)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
    .java:812)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:78
    7)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607)


            at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
    a:1044)
            at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
    ava:967)

            at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472
    )
            at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1302)
            at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java

    :311)
            at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
    eSupport.java:119)
            at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa

    se.java:89)
            at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:34
    3)
            at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:32

    3)
            at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
    va:1043)
            at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java
    :774)

            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
    va:1035)
            at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.

    java:291)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.StandardService.startInternal(StandardServic
    e.java:443)

            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.StandardServer.startInternal(StandardServer.
    java:724)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

            at org.apache.catalina.startup.Catalina.start(Catalina.java:620)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.

    java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:304)

            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
    12-Apr-2011 8:02:23 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory manager

    12-Apr-2011 8:02:23 PM org.apache.catalina.startup.HostConfig deployDirectory
    SEVERE: Error deploying web application directory manager
    java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig

    ()Ljavax/servlet/SessionCookieConfig;
            at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1281)
            at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.jav

    a:1276)
            at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfi
    g.java:874)
            at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi

    g.java:317)
            at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
    eSupport.java:119)
            at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa

    se.java:89)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContex
    t.java:4974)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
    .java:812)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:78
    7)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607)


            at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
    a:1044)
            at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
    ava:967)

            at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472
    )
            at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1302)
            at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java

    :311)
            at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
    eSupport.java:119)
            at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa

    se.java:89)
            at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:34
    3)
            at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:32

    3)
            at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
    va:1043)
            at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java
    :774)

            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
    va:1035)
            at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.

    java:291)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.StandardService.startInternal(StandardServic
    e.java:443)

            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.StandardServer.startInternal(StandardServer.
    java:724)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

            at org.apache.catalina.startup.Catalina.start(Catalina.java:620)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.

    java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:304)

            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
    12-Apr-2011 8:02:23 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory ROOT

    12-Apr-2011 8:02:23 PM org.apache.catalina.startup.HostConfig deployDirectory
    SEVERE: Error deploying web application directory ROOT
    java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig

    ()Ljavax/servlet/SessionCookieConfig;
            at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1281)
            at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.jav

    a:1276)
            at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfi
    g.java:874)
            at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi

    g.java:317)
            at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
    eSupport.java:119)
            at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa

    se.java:89)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContex
    t.java:4974)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
    .java:812)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:78
    7)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607)


            at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
    a:1044)
            at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
    ava:967)

            at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472
    )
            at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1302)
            at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java

    :311)
            at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
    eSupport.java:119)
            at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBa

    se.java:89)
            at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:34
    3)
            at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:32

    3)
            at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
    va:1043)
            at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java
    :774)

            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.ja
    va:1035)
            at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.

    java:291)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.StandardService.startInternal(StandardServic
    e.java:443)

            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
            at org.apache.catalina.core.StandardServer.startInternal(StandardServer.
    java:724)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

            at org.apache.catalina.startup.Catalina.start(Catalina.java:620)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.

    java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:304)

            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
    12-Apr-2011 8:02:23 PM org.apache.coyote.AbstractProtocolHandler start
    INFO: Starting ProtocolHandler ["http-apr-8080"]

    12-Apr-2011 8:02:23 PM org.apache.coyote.AbstractProtocolHandler start
    INFO: Starting ProtocolHandler ["ajp-apr-8009"]
    12-Apr-2011 8:02:23 PM org.apache.catalina.startup.Catalina start

    INFO: Server startup in 801 ms
错误消息:java.lang.NoSuchMethodError:javax.servlet.ServletContext.getSessionCookieConfig()
Ljavax/servlet/sessioncokieconfig;
症状:Tomcat无法启动

可能原因:这是
Servlets 3.0
中的一种新方法(tomcat7支持该方法)。 有一个
servlets2.xapi
是您的
CLASSPATH
JDK的
扩展目录。 解决方案:检查您的
类路径
。从JDK的扩展目录(如果有的话)中删除
ServletAPI.jar


来源:

我通过将以下JAR添加到我的tomcat/lib目录解决了这个错误:

javax.persistence-2.0.0.jar

persistence-api-1.0.2.jar


您可以在这里找到最新版本:

如果您编译了一个包含运行时依赖项的jar,并且引用了tomcat servlet-api.jar的旧版本,也会发生这种情况

然后,当您的jar加载到不同版本的Tomcat中时,ServletAPI不正确,并抛出此错误


因此,请检查jar是如何编译的,并确保它没有以某种方式包含servlet-api.jar作为依赖项

嗯,那没用。我从类路径中删除了所有jar,在jdk文件夹中找不到任何servlet-api.jar。我也有同样的错误,我在类路径中找到了
servlet-api-2.5.jar
文件并将其删除。但这对我没有帮助。我的JDK扩展目录中没有这样的文件。Tomcat不需要你这样做,这样它才能正常运行。这里的问题不是它是否需要一些JAR。我发布了有用的东西。。。15个月前