服务器 > 服务器 > Tomcat

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

84人参与 2024-07-03 Tomcat

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。

总结

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

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

IDEA中Smart Tomcat插件使用教程

07-03

tomcat如何去掉项目名称直接访问项目

07-03

如何在同一局域网下通过IP地址访问本机Tomcat项目

07-03

完美解决Tomcat关闭后报错问题

07-03

Tomcat中Filter过滤器的具体使用

07-03

Tomcat 启动闪退常见问题18种解决方法及示例

07-03

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论