在Eclipse中运行Web项目时,出现错误提示:"Starting Tomcat v8.0 Server at localhost" has encountered a problem……。
答:出现这种问题的原因在于当Eclipse中启动Tomcat服务器之前,本机的Tomcat服务器已经运行,即相当于试图运行两个Tomcat实例。
解决方案:关闭在本机运行的Tomcat服务。
如何解决Tomcat启动后命令行窗口一闪而过的错误?
答:双击bin目录中的startup.bat脚本文件时,命令行窗口一闪而过。在这种情况下,由于无法查看到错误信息,所以无法对Tomcat进行诊断,分析出错原因。这时,可以先启动一个命令行窗口,在这个命令行窗口中,将目录切换到Tomcat安装目录中的bin目录,然后在该窗口中执行startup.bat命令,就会看到错误信息。

看到错误提示为“JRE_HOME环境变量配置不正确,运行该程序需要此环境变量”。这是因为Tomcat服务器是由Java语言开发的,它在运行时需要根据JAVA_HOME或JRE_HOME环境变量来获得JRE的安装位置,从而利用Java虚拟机来运行Tomcat。要解决这个问题,只需要将JAVA_HOME环境变量配置成JDK的安装目录。
Tomcat端口号被占用。
答:Tomcat在启动时可能会出现启动失败的情况,这种情况还可能是因为Tomcat服务器所使用的网络监听端口被其他服务程序占用所导致。
1、现在很多安全工具都提供查看网络监听端口的功能,如360安全卫士、QQ管家等。此外,也可以通过在命令行窗口中输入“netstat -na”命令,查看本机运行的程序都占用了哪些端口,如果有程序占用了8080端口,则可以在任务管理器的“进程”选项卡中结束它的进程,之后重新启动Tomcat服务器,在浏览器中输入http://localhost:8080就能看到Tomcat的首页。
2、修改Tomcat服务器的端口号。
(1)使用记事本打开Tomcat安装目录apache-tomcat-8.5.75\conf下的server.xml文件。
(2)在server.xml文件中找到以下代码(大约在70行):
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
其中,Connector子元素下的port是设置服务器端口,而connection Timeout则是服务器连接超时,单位为毫秒。
(3)将上面代码中 port="8080" 修改为port="8081",即可将Tomcat的默认端口设置为8081。在修改端口时,应避免与公用端口冲突。建议采用默认的8080端口,不要修改,除非8080端口被其他程序所占用。
(4)修改成功后,为了使新设置的端口生效,还需要重新启动Tomcat服务器。
Tomcat重新启动成功后,可以在IE浏览器的地址栏中输入http://localhost:8081来访问Tomcat。
双击startup.bat启动Tomcat之后,提示“你指定的xxx文件夹不可用”。
答:可能是文件权限问题,可以修改权限。建议不要将Tomcat解压缩后的文件放在Program Files目录中。
tomcat出现:java.lang.IllegalStateException: 无输出目录
tomcat分为安装版和解压缩版,解压缩版如果解压到安装盘,在浏览器中访问http://localhost:8080,可能会出现500错误。
原因分析:
tomcat目录没有被读写的权限,导致文件不能被编译到指定的工作目录中。
解决方案:
找到tomcat目录,右键“属性—>安全—>编辑”,找到Users,将“完全控制”选项“允许”打钩,应用。


严重 [main] org.apache.catalina.util.LifecycleBase.handleSubClassException 初始化组件失败
运行tomcat时,出现了Tomcat启动失败的问题。

出现这个问题的原因是Tomcat的默认端口8080被其他线程占用,因此解决这个问题可以采取关掉占用8080端口的线程的方法,或者采取更改Tomcat的端口的方法。

