java catalina.bat 开始不工作

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/5642753/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-30 12:03:12  来源:igfitidea点击:

catalina.bat start not working

javatomcatservletsnosuchmethoderror

提问by Flethuseo

I am having problems starting tomcat for some strange reason, it used to start before without a problem. The error is so long that I can't copy it completely from the command prompt. Anyone know what could be going wrong?

由于某种奇怪的原因,我在启动 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

回答by Joe

Error Message: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()
Ljavax/servlet/SessionCookieConfig;

Symptoms: Tomcat cannot start

症状:Tomcat无法启动

Probable Causes: This is a new method in Servlets 3.0(which Tomcat 7supports). There is a Servlets 2.x APIis your CLASSPATHor JDK'sextension directory. Solution: Check your CLASSPATH. Remove servlet-api.jarfrom JDK'sextension directory if any.

可能的原因:这是Servlets 3.0Tomcat 7支持)中的新方法。有一个Servlets 2.x API是您的CLASSPATHJDK's扩展目录。解决方案:检查您的CLASSPATH. 如果有的话,servlet-api.jarJDK's扩展目录中删除。

Source: http://www3.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_HowTo.html

资料来源:http: //www3.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_HowTo.html

回答by Paul Gregtheitroade

I resolved this exact error by adding the following jars to my tomcat/lib directory:

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

javax.persistence-2.0.0.jar

javax.persistence-2.0.0.jar

persistence-api-1.0.2.jar

持久化api-1.0.2.jar

You can find the latest versions here: http://mvnrepository.com/

您可以在此处找到最新版本:http: //mvnrepository.com/

回答by Brad Parks

This can also happen if you have compiled a jar that includes it's runtime dependencies, and has a reference to an old version of the tomcat servlet-api.jar.

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

Then when your jar is loaded in a different version of Tomcat, the servlet api is incorrect, and it throws this error.

然后当你的jar在不同版本的Tomcat中加载时,servlet api不正确,它会抛出这个错误。

So check how your jar is compiled and make sure it's not including the servlet-api.jar as a dependency in some way!

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