【问题标题】:Server Tomcat v9.0 Server at localhost failed to start,eclipce j2eeServer Tomcat v9.0 Server at localhost 无法启动,eclipce j2ee
【发布时间】:2018-11-25 02:22:29
【问题描述】:

Tomcat 服务器 9.0 未在 Eclipse 中启动 它显示错误“本地主机上的服务器 Tomcat v9.0 服务器无法启动。”我尝试了很多方法,从更改端口到卸载 Tomcat 和 Eclipse,然后重新安装,但没有任何改变,谢谢提前为您提供帮助。

几件事可能会有所帮助:

    <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<servlet>
    <servlet-name>Serv</servlet-name>
    <servlet-class>com.exemplemvc.ServletControleur</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Serv</servlet-name>
    <url-pattern>s</url-pattern>
</servlet-mapping>
</web-app>

十一月2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息:服务器 版本:Apache Tomcat/9.0.13 nov. 2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息:服务器 建成时间:2018 年 11 月 2 日 14:27:55 UTC 11 月2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息:服务器 编号:9.0.13.0 11 月2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息:操作系统名称: Windows 10 十一月2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息:操作系统 版本:10.0 十一月。 2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息: 架构:amd64 nov. 2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息:Java 主页:C:\Program Files\Java\jre1.8.0_191 nov. 2018 年 2 月 25 日 12:13:58 PM org.apache.catalina.startup.VersionLoggerListener 日志 INFOS:JVM 版本:1.8.0_191-b12 nov。 2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息:JVM 供应商:甲骨文公司 11 月2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息: CATALINA_BASE:
C:\Users\USER\eclipse-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0 十一月2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息: CATALINA_HOME: C:\Users\USER\Downloads\apache-tomcat-9.0.13 十一月2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息:命令 行参数: -Dcatalina.base=C:\Users\USER\eclipse-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0 十一月2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息:命令 行参数: -Dcatalina.home=C:\Users\USER\Downloads\apache-tomcat-9.0.13 nov. 2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志 信息:命令行参数: -Dwtp.deploy=C:\Users\USER\eclipse-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps 十一月2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息:命令 行参数: -Djava.endorsed.dirs=C:\Users\USER\Downloads\apache-tomcat-9.0.13\endorsed 十一月2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.startup.VersionLoggerListener 日志信息:命令 行参数:-Dfile.encoding=MS932 nov。 2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.core.AprLifecycleListener 生命周期事件信息: 使用 APR 加载基于 APR 的 Apache Tomcat Native 库 [1.2.18] 版本 [1.6.5]。十一月2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.core.AprLifecycleListener 生命周期事件信息: APR 功能:IPv6 [true]、sendfile [true]、接受过滤器 [假],随机[真]。十一月2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.core.AprLifecycleListener 生命周期事件信息: APR/OpenSSL 配置:useAprConnector [false]、useOpenSSL [true] 十一月2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.core.AprLifecycleListener 初始化 SSL 信息: OpenSSL 成功初始化 [OpenSSL 1.1.1 2018 年 9 月 11 日] nov. 25, 2018 年 12:13:58 PM org.apache.coyote.AbstractProtocol 初始化信息: 初始化 ProtocolHandler ["http-nio-8080"] nov. 2018 年 2 月 25 日 12:13:58 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector INFOS: 使用共享选择器进行 servlet 写入/读取 nov。 2018 年 2 月 25 日 12:13:58 PM org.apache.coyote.AbstractProtocol init INFOS:正在初始化 ProtocolHandler [“ajp-nio-8009”] 十一月。 2018 年 2 月 25 日下午 12:13:58 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 信息: 使用共享选择器进行 servlet 写入/读取 nov。 2018 年 2 月 25 日 12:13:58 PM org.apache.catalina.startup.Catalina 加载 INFOS:初始化 11 月 893 毫秒处理。 2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.core.StandardService startInternal INFOS: D?marrage du service [Catalina] nov. 2018 年 2 月 25 日下午 12:13:58 org.apache.catalina.core.StandardEngine startInternal INFOS:正在启动 Servlet 引擎:Apache Tomcat/9.0.13 nov. 2018 年 2 月 25 日下午 12:13:59 org.apache.catalina.core.ContainerBase startInternal GRAVE:一个孩子 容器在启动 java.util.concurrent.ExecutionException 期间失败: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/EX1TP3]] 在 java.util.concurrent.FutureTask.report(Unknown Source) 在 java.util.concurrent.FutureTask.get(未知来源)在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:951) 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1432) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1422) 在 java.util.concurrent.FutureTask.run(Unknown Source) 在 org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) 在 java.util.concurrent.AbstractExecutorService.submit(未知 来源)在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944) 在 org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:261) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:801) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:695) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在 java.lang.reflect.Method.invoke(未知来源)在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492) 引起 作者:org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/EX1TP3]] 在 org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1432) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1422) 在 java.util.concurrent.FutureTask.run(Unknown Source) 在 org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) 在 java.util.concurrent.AbstractExecutorService.submit(未知 来源)在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944) ... 21 更多原因:java.lang.IllegalArgumentException: [s] invalide dans l'association de servlet (servlet 映射)在 org.apache.catalina.core.StandardContext.addServletMappingDecoded(StandardContext.java:3136) 在 org.apache.catalina.Context.addServletMappingDecoded(Context.java:879) 在 org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1380) 在 org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1191) 在 org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:769) 在 org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299) 在 org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5007) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 27 更多

十一月2018 年 2 月 25 日下午 12:13:59 org.apache.catalina.core.ContainerBase startInternal GRAVE:子容器在启动期间失败 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:子容器失败 在 java.util.concurrent.FutureTask.report 启动期间(未知 源)在 java.util.concurrent.FutureTask.get(未知源)在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:951) 在 org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:261) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:801) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:695) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在 java.lang.reflect.Method.invoke(未知来源)在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492) 引起 作者:org.apache.catalina.LifecycleException:子容器失败 在开始时 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:963) 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1432) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1422) 在 java.util.concurrent.FutureTask.run(Unknown Source) 在 org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) 在 java.util.concurrent.AbstractExecutorService.submit(未知 来源)在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944) ... 13 更多原因:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/EX1TP3]] 在 java.util.concurrent.FutureTask.report(Unknown Source) 在 java.util.concurrent.FutureTask.get(未知来源)在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:951) ... 21 更多原因:org.apache.catalina.LifecycleException:失败 启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/EX1TP3]] 在 org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1432) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1422) 在 java.util.concurrent.FutureTask.run(Unknown Source) 在 org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) 在 java.util.concurrent.AbstractExecutorService.submit(未知 来源)在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944) ... 21 更多原因:java.lang.IllegalArgumentException: [s] invalide dans l'association de servlet (servlet 映射)在 org.apache.catalina.core.StandardContext.addServletMappingDecoded(StandardContext.java:3136) 在 org.apache.catalina.Context.addServletMappingDecoded(Context.java:879) 在 org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1380) 在 org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1191) 在 org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:769) 在 org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299) 在 org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5007) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 27 更多

十一月2018 年 2 月 25 日下午 12:13:59 org.apache.catalina.startup.Catalina 开始 GRAVE:所需的服务器组件无法启动,因此 Tomcat 是 无法启动。 org.apache.catalina.LifecycleException:一个孩子 容器在启动期间失败 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:963) 在 org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:261) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:801) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:695) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在 java.lang.reflect.Method.invoke(未知来源)在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492) 引起 通过:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:子容器失败 在 java.util.concurrent.FutureTask.report 启动期间(未知 源)在 java.util.concurrent.FutureTask.get(未知源)在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:951) ... 13 更多原因:org.apache.catalina.LifecycleException: A 子容器在启动期间失败 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:963) 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1432) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1422) 在 java.util.concurrent.FutureTask.run(Unknown Source) 在 org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) 在 java.util.concurrent.AbstractExecutorService.submit(未知 来源)在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944) ... 13 更多原因:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/EX1TP3]] 在 java.util.concurrent.FutureTask.report(Unknown Source) 在 java.util.concurrent.FutureTask.get(未知来源)在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:951) ... 21 更多原因:org.apache.catalina.LifecycleException:失败 启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/EX1TP3]] 在 org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1432) 在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1422) 在 java.util.concurrent.FutureTask.run(Unknown Source) 在 org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) 在 java.util.concurrent.AbstractExecutorService.submit(未知 来源)在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944) ... 21 更多原因:java.lang.IllegalArgumentException: [s] invalide dans l'association de servlet (servlet 映射)在 org.apache.catalina.core.StandardContext.addServletMappingDecoded(StandardContext.java:3136) 在 org.apache.catalina.Context.addServletMappingDecoded(Context.java:879) 在 org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1380) 在 org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1191) 在 org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:769) 在 org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299) 在 org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5007) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 27 更多

十一月2018 年 2 月 25 日下午 12:13:59 org.apache.coyote.AbstractProtocol 暂停 INFOS:暂停 ProtocolHandler ["http-nio-8080"] nov。 2018 年 2 月 25 日 12:13:59 PM org.apache.coyote.AbstractProtocol 暂停 INFOS:暂停 ProtocolHandler [“ajp-nio-8009”] 十一月。 2018 年 2 月 25 日下午 12:13:59 org.apache.catalina.core.StandardService stopInternal INFOS: Arr?t du 服务 [Catalina] 十一月。 2018 年 2 月 25 日下午 12:13:59 org.apache.coyote.AbstractProtocol 销毁 INFOS:销毁 ProtocolHandler [“http-nio-8080”] 十一月。 2018 年 2 月 25 日下午 12:13:59 org.apache.coyote.AbstractProtocol 销毁 INFOS:销毁 ProtocolHandler ["ajp-nio-8009"]

【问题讨论】:

  • 更新您的问题以包含显示错误的 Tomcat 日志内容。由于缺乏信息,目前无法回答您的问题。
  • 完成了,我猜。

标签: jakarta-ee


【解决方案1】:

对于此类问题,首先要检查的是 Tomcat 日志。根本原因报告在您添加的提取的底部附近:

Caused by: java.lang.IllegalArgumentException: [s] invalide dans l'association de servlet (servlet mapping) 

这条信息告诉你:

  • servlet 映射存在问题,在您的情况下,这是在 web.xml 文件中完成的。
  • 问题与使用 s 作为映射有关,因为消息状态为 [s] invalide...

因为这个问题,Tomcat 无法启动。这也在日志中报告:

The required Server component failed to start so Tomcat is unable to start.

web.xml中,URL模式被指定为&lt;url-pattern&gt;s&lt;/url-pattern&gt;,这是无效的。

值得注意的是,如果您使用 Eclipse 的 servlet 向导创建一个 servlet,并尝试在 URL Mappings 中指定一个 s 的 URL 模式,您会得到一个非常有用的错误信息:

"s" is unresolvable URL pattern. URL patterns should start with "/" or "*.".

要解决此问题,只需将 URL 模式更改为以正斜杠开头:

 <url-pattern>/s</url-pattern>

完整的细节在 Servlet 规范版本 4.0 中。请参阅标题为 Mapping Requests to Servlets 的第 12 章,特别是第 12.2 节:“映射规范”

【讨论】:

    猜你喜欢
    • 2017-06-12
    • 2019-08-15
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 2019-04-20
    • 1970-01-01
    • 2020-09-12
    相关资源
    最近更新 更多