当前位置: 首页 > 知识库问答 >
问题:

EclipseMars上的ApacheTomcat 8.0启动故障器-JavaEE

彭星津
2023-03-14

在Eclipse版本之后,我安装并测试了名为“CrunchifySpringMVactural”的Spring简单应用程序。这是一个maven项目。它是成功构建的,当开始使用ApacheTomcat时,会出现如下错误。

Java版本

  • java-版本
  • java版本“1.8.0_65”
  • Java(TM)SE运行时环境(build 1.8.0_65-b17)
  • Java HotSpot(TM)64位服务器虚拟机(构建25.65-b01,混合模式)

Eclipse版本

>

  • 面向Web开发人员的EclipseJavaEEIDE
  • 版本:火星。1版本(4.5.1)
  • 构建id:20150924-1200

    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(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:917)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:439)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:760)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:625)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        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:154)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: org.apache.catalina.LifecycleException: A child container failed during start
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:925)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:868)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 6 more
    
    Feb 09, 2016 11:46:19 AM 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:154)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:625)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        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:154)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:760)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 7 more
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:439)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 9 more
    Caused by: org.apache.catalina.LifecycleException: A child container failed during start
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:925)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 11 more
    
    Feb 09, 2016 11:46:19 AM org.apache.coyote.AbstractProtocol pause
    INFO: Pausing ProtocolHandler ["http-nio-8080"]
    Feb 09, 2016 11:46:19 AM org.apache.coyote.AbstractProtocol pause
    INFO: Pausing ProtocolHandler ["ajp-nio-8009"]
    Feb 09, 2016 11:46:19 AM org.apache.catalina.core.StandardService stopInternal
    INFO: Stopping service Catalina
    Feb 09, 2016 11:46:19 AM org.apache.coyote.AbstractProtocol destroy
    INFO: Destroying ProtocolHandler ["http-nio-8080"]
    Feb 09, 2016 11:46:19 AM 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:307)
        at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:482)
        at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:795)
        at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:531)
        at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
        at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
        at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:588)
        at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
        at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:850)
        at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:629)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
    
    Feb 09, 2016 11:46:19 AM org.apache.coyote.AbstractProtocol destroy
    INFO: Destroying ProtocolHandler ["ajp-nio-8009"]
    Feb 09, 2016 11:46:19 AM 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:307)
        at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:482)
        at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:795)
        at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:531)
        at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
        at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
        at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:588)
        at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
        at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:850)
        at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:629)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
    

    手动启动和关闭工作无误。

    [root@csc bin]# ./startup.sh 
    Using CATALINA_BASE:   /usr/local/apache-tomcat-8.0.15
    Using CATALINA_HOME:   /usr/local/apache-tomcat-8.0.15
    Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.0.15/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /usr/local/apache-tomcat-8.0.15/bin/bootstrap.jar:
    /usr/local/apache-tomcat-8.0.15/bin/tomcat-juli.jar
    Tomcat started.
    
    [root@csc bin]# ./shutdown.sh 
    Using CATALINA_BASE:   /usr/local/apache-tomcat-8.0.15
    Using CATALINA_HOME:   /usr/local/apache-tomcat-8.0.15
    Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.0.15/temp
    Using JRE_HOME:        /usr
    Using CLASSPATH:       /usr/local/apache-tomcat-8.0.15/bin/bootstrap.jar:
    /usr/local/apache-tomcat-8.0.15/bin/tomcat-juli.jar
    

  • 共有1个答案

    巫马磊
    2023-03-14

    我假设你不是以root身份运行日食。但是,您的“手动启动”代码意味着您的手动启动是以root身份执行的。这通常会导致许多工作文件、临时文件和其他文件归root所有,对于非特权用户来说不可写。

    修复方法是更改文件的所有权,例如,更改为与您一起执行eclipse的用户(通常是您自己的帐户)。既然这些文件已经属于root,那么您也必须以root身份执行此操作:

    sudo chown --recursive yourusername /usr/local/apache-tomcat-8.0.15
    

    (当然,用你的用户名代替)

    永远不要像tomcat一样以root身份运行网络服务器——你总是希望它以非特权用户的身份运行。否则,tomcat上的任何安全问题都可能意味着攻击者可以立即访问根用户

     类似资料:
    • 我刚刚启动硒网格集线器时遇到麻烦。我正在使用以下命令: java-jar selenium-server-standalone-2.25.0。jar-角色中心 我收到以下消息:2012年7月25日下午1:26:26。openqa。网格硒。GridLauncher主要信息:启动selenium网格服务器 ...但它永远不会过去,只是挂起4444没有反应。 我的问题是:1.这是启动集线器的正确方式吗?

    • 我正在尝试将Liquibase与Spring Boot一起使用。这是我的文件: 更改集应用良好(可以创建表)。 当我访问执行器的endpoint时,问题来了,我得到一个500错误: 无法获取Liquibase更新日志 我还得到以下日志: org.postgresql.util.PSQLException: ERROR:关系"public.databasechangelog"不存在 如果问题是用于访

    • 我想知道是否可以在Kafka制作程序中配置2个不同的Kafka集群。 目前我正试图让我的制片人 我正在使用Apache Kafka 2.8和Python 3.7的confluent_kafka==1.8.2包。 生产商代码下方: 当我杀死clusterB时,我得到了以下错误消息。

    • 旧的讨论表明,它必须通过更新表来手动处理。我可以手动更新结束时间、批处理步骤执行和批处理作业执行表中的状态。这真的是最好的选择吗?在prod区域中手动完成这一操作可能是不实际的。

    • 我正在尝试用6台机器实现一个Redis集群。我有一个由六台机器组成的流浪集群: 运行redis服务器 我编辑了上述所有服务器的/etc/redis/redis.conf文件,添加了这个 然后我在六台机器中的一台上运行了这个程序; Redis集群已启动并运行。我通过在一台机器上设置值手动检查它显示在其他机器上。 我的问题是,当我关闭或停止任何一台主机上的redis server时,整个集群都会停止运

    • 我在Fargate上使用AWS EKS测试kubernetes设置,在容器启动时遇到问题。 这是一个利用hibernate的java应用程序。它似乎在启动时无法连接到MySQL服务器,出现了“通信链路故障”错误。数据库服务器在AWS RDS上正常运行,docker映像可以在本地按预期运行。 我想知道这是否是由于容器/节点/服务上没有正确配置MySQL端口3306造成的。想看看您是否能发现问题所在,