本地主机上的 Apache Tomcat 8 无法启动 - eclipse

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/37911273/
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-09-19 23:12:55  来源:igfitidea点击:

Apache Tomcat 8 at local host failed to start- eclipse

javaeclipseapachetomcatservlets

提问by Agent Smith

Implementing first servlet in eclipse:

在 Eclipse 中实现第一个 servlet:

I have a <servlet-mapping>tag correct in web.xml I have configured servlet-api.jar

<servlet-mapping>在配置的 web.xml 中有一个正确的标签servlet-api.jar

Then I tried to run on server, the server din't start deleted .snapfile from the directory

然后我尝试在服务器上运行,服务器.snap不会从目录中启动已删除的文件

<workspace-directory>\.metadata\.plugins\org.eclipse.core.resources- starting server -nagative

<workspace-directory>\.metadata\.plugins\org.eclipse.core.resources- 启动服务器 -nagative

reconfigured the server configuration - this time, a message showing server started but servlet didn't work with a 404 error

重新配置了服务器配置 - 这一次,一条消息显示服务器已启动但 servlet 无法与 404 error

Everytime I test the servlet i had to reconfigure the environment settings.

每次我测试 servlet 时,我都必须重新配置环境设置。

this time I removed .tempfile from this directory

这次我.temp从这个目录中删除了文件

<workspace-directory>\.metadata\.plugins\org.eclipse.wst.server.core

<workspace-directory>\.metadata\.plugins\org.eclipse.wst.server.core

Now the server is not starting at all with an error message

现在服务器根本没有启动并显示错误消息

Additional information: Screen shorts error message popupconsole 1

附加信息:屏幕短路错误消息弹出控制台 1

.xml:

.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
     xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
    http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" 
    version="3.1">

    <display-name>TestServlet</display-name>
     <servlet>
      <servlet-name>abc</servlet-name>
      <servlet-class>Testing</servlet-class>
      </servlet>
      <servlet-mapping>
      <servlet-name>abc</servlet-name>
      <url-pattern>welcome</url-pattern></servlet-mapping>


      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

Console:

安慰:

      SEVERE: A child container failed during start
     java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 
     Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/TestServlet]]
        at java.util.concurrent.FutureTask.report(Unknown Source)
        at java.util.concurrent.FutureTask.get(Unknown Source)
         at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:915)
         at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
         at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
     Caused by: org.apache.catalina.LifecycleException: Failed to start component
     [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/TestServlet]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
         ... 6 more
     Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> 
     welcome in servlet mapping
        at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3155)
        at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3130)
        at org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1376)
        at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1184)
        at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:779)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:306)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5171)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        ... 6 more

     Jun 19, 2016 7:54:13 PM org.apache.catalina.core.ContainerBase startInternal
     SEVERE: A child container failed during start
     java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 
     Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
         at java.util.concurrent.FutureTask.report(Unknown Source)
         at java.util.concurrent.FutureTask.get(Unknown Source)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:915)
         at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:787)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
         at org.apache.catalina.startup.Catalina.start(Catalina.java:629)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
     Caused by: org.apache.catalina.LifecycleException: Failed to start component 
     [StandardEngine[Catalina].StandardHost[localhost]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)
        at java.util.concurrent.FutureTask.run(Unknown Source)
         at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
     Caused by: org.apache.catalina.LifecycleException: A child container failed during start
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:923)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        ... 6 more

     Jun 19, 2016 7:54:13 PM org.apache.catalina.startup.Catalina start
     SEVERE: The required Server component failed to start so Tomcat is unable to start.
     org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
         at org.apache.catalina.startup.Catalina.start(Catalina.java:629)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
     Caused by: org.apache.catalina.LifecycleException: Failed to start component 
     [StandardService[Catalina]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
         at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:787)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        ... 7 more
     Caused by: org.apache.catalina.LifecycleException: Failed to start component
     [StandardEngine[Catalina]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
         at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
         ... 9 more
     Caused by: org.apache.catalina.LifecycleException: A child container failed during start
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:923)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        ... 11 more
     Jun 19, 2016 7:54:13 PM org.apache.coyote.AbstractProtocol pause

     INFO: Pausing ProtocolHandler ["http-nio-8080"]
    Jun 19, 2016 7:54:13 PM org.apache.coyote.AbstractProtocol pause
    INFO: Pausing ProtocolHandler ["ajp-nio-8009"]
    Jun 19, 2016 7:54:13 PM org.apache.catalina.core.StandardService stopInternal
    INFO: Stopping service Catalina
    Jun 19, 2016 7:54:13 PM org.apache.coyote.AbstractProtocol destroy
    INFO: Destroying ProtocolHandler ["http-nio-8080"]
    Jun 19, 2016 7:54:13 PM org.apache.coyote.AbstractProtocol destroy
    SEVERE: Failed to destroy end point associated with ProtocolHandler ["http-nio-8080"]
    java.lang.NullPointerException
        at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:316)
        at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:492)
        at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:821)
        at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:534)
        at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
        at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
        at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
        at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
        at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877)
        at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

    Jun 19, 2016 7:54:13 PM org.apache.coyote.AbstractProtocol destroy
    INFO: Destroying ProtocolHandler ["ajp-nio-8009"]
    Jun 19, 2016 7:54:13 PM org.apache.coyote.AbstractProtocol destroy
    SEVERE: Failed to destroy end point associated with ProtocolHandler ["ajp-nio-8009"]
    java.lang.NullPointerException
        at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:316)
        at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:492)
        at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:821)
        at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:534)
        at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
        at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
        at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
        at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
        at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:877)
        at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

回答by Shmulik Klein

The log complains that your <url-pattern>is invalid. Try to use /welcomefor it.

日志抱怨您<url-pattern>的无效。尝试使用/welcome它。