Tomcat启动报错子容器启动失败问题及解决

 更新时间:2024年06月12日 09:57:28   作者:m0_55070913  

这篇文章主要介绍了Tomcat启动报错子容器启动失败问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

目录
  • Tomcat启动报错子容器启动失败
    • 出现以下结果
    • 出现如下信息
    • 看了下conf目录下的server.xmlref="https://xwenw.com/tag/%e6%96%87%e4%bb%b6" target="_blank">文件
  • 总结

    Tomcat启动报错子容器启动失败

    在复习JavaWeb时,想让自己的工作空间变得干净一点,于是清理了Tomcat安装目录webapps中以前留下来的web项目,在双击bin目录下的start.bat文件时CMD窗口一闪而过,顿时觉得奇怪,这种情况一般是JAVA_Home环境变量没配置正确。

    于是以文本方式打开start.bat,在末尾end语句后加上“pause”,保存后再次双击start.bat

    出现以下结果

    发现路径都是正确的,说明我的环境变量配置没有问题。

    再次以文本方式打开start.bat,将call "%EXECUTABLE%" start %CMD_LINE_ARGS%语句中的start改成run,保存后双击start.bat

    出现如下信息

    后面显示了一系列的错误,我仅仅示范性地截了一张。

    观察到主要信息内容是子容器启动失败指定的某个资源集无效Catalina.start 所必需的服务组件启动失败;仔细看发现它显示了无效的资源集路径(上图中末尾),看了下该路径下确实没有相关文件夹。

    看了下conf目录下的server.xml文件

    看到了如下配置(只截取了所述代码):

    <Service name="Catalina">
        <Engine defaultHost="localhost" name="Catalina">
            <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
                <Context docBase="E:apache-tomcat-9.0.20webappsSSM" path="/SSM" reloadable="true" source="org.eclipse.jst.jee.server:SSM"/>
                <Context docBase="E:apache-tomcat-9.0.20webappsSpring" path="/Spring" reloadable="true" source="org.eclipse.jst.jee.server:Spring"/>
                <Context docBase="E:apache-tomcat-9.0.20webappsPressRelease" path="/PressRelease" reloadable="true" source="org.eclipse.jst.jee.server:PressRelease"/>
            </Host>
        </Engine>
    </Service>
    

    在Context标签中,docBase指定了项目的路径,通过虚拟路径path进行访问。

    我因为之前在清理项目的时候将这三个文件夹一块删除了,所以Tomcat启动时出现了错误。

    在server.xml文件中删掉三个Context标签的内容,保存后双击start.bat,发现Tomcat已经正常启动并可以访问8080端口了;

    或者在webapps目录下新建对应的SSM,Spring,PressRelease文件夹,也能正常启动Tomcat。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持小闻网。

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。