首页 > 技术文章 > Tomcat 常见的几个报错与启动问题

llw1996 2017-03-17 08:37 原文

报错:A child container failed during start

1.Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name Action 
这是说这个节点不认识,我们只需要找到相关的web.xml文件删除以下节点
⦁ <servlet-mapping>  
⦁     <servlet-name>Action</servlet-name>  
⦁     <url-pattern>/public/Action</url-pattern>  
⦁ </servlet-mapping> 

2..Caused by: java.lang.IllegalArgumentException: The main resource set specified... is not valid
一般是说...这个工程的路径找不到了,我就是犯了这个错误。

Tomcat启动问题 

Eclipse编辑网页的时候,之前tomcat用的好好的,不知道哪里做了删改,然后启动Tomcat就报错“Server Tomcat v7.0 Server at localhost failed to start.”

解决方法:
 1.如下路径打开你工作空间文件夹:
<workspace-directory>\.metadata\.plugins\org.eclipse.core.resources
然后删除 .snap 文件,在eclipse打开的情况下有这个.snap文件,把它删掉。
 2.如下路径打开工作空间文件夹:
<workspace-directory>\.metadata\.plugins\org.eclipse.wst.server.core
删除里面的temp*文件夹,我这有temp0和temp1,可能是一个tomcat对应一个temp,删除后重启eclipse,tomcat就可以用了。

 

⦁ 4.Tomcat服务器端口被占用问题
运行程序的时候提示启动tomcat服务器遇到问题,端口8005被占用
 

 

解决方法1:打开任务管理器(Alt+ctrl+del),查找与java有关的进程,
然后把它强制关闭即可。(这几个端口已经有某个应用程序占用了,所以Tomcat就没法启动了;结束一个javaw.exe进程 然后Tomcat正常启动了)

 

解决方法2:cmd进入控制台,输入命令netstat   -ano|findstr  8005 (什么端口号被占用就输入什么号),回车
 

 

发现是进程2044占用了这个端口
下一步,输入命令
taskkill  /pid  2044 /f   回车 这里的2044对应上图的2044
 

 


终止掉这个占用端口的进程后,就可以重新启动Tomcat服务器了。

推荐阅读