启动Tomcat 出现容器生命周期和非法参数异常

org.apache.catalina.LifecycleException: 协议处理器启动失败

Caused by: java.lang.IllegalArgumentException: AJP连接器配置secretRequired="true",但是属性secret确实空或者空字符串,这样的组合是无效的。

详细如下图
在这里插入图片描述
根据第二个异常 分析是AJP连接器配置出现异常 检查配置文件server.xml

AJP是一种TCP/IP协议

AJP连接器可以通过AJP协议和另一个web容器进行交互

在这里插入图片描述

Tomcat安装目录的conf下的server.xml文件中 117-120行 默认是注释状态

在这里插入图片描述
代码

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <!--
    <Connector protocol="AJP/1.3"
               address="::1"
               port="8009"
               redirectPort="8443" />
    -->

原因

此处代码的注释被解开

在这里插入图片描述

解决方案

1、不使用到AJP协议 就直接注释掉

2、配置secretRequired=""

二者选其一都能规避

效果展示

此处是第二种方案配置了secretRequired="" 仅作演示 建议注释掉

在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐