本文已参与「新人创作礼」活动,一起开启掘金创作之路。
声明:本篇异常整理仅是本人在日常开发中遇到整理,解决思路并非完全正确,方案仅供参考。
1.Tomcat启动报错Failed to start component [StandardEngine[Catalina].StandardHost[localhost]
描述:
最近将以前写的项目重新导入进Eclipse调试启动时出现报错:Failed to start component [StandardEngine[Catalina].StandardHost[localhost]。
原因:
- web.xml文件的错误,某处的单词可能拼错等错误导致web.xml解析错误。
- jdk版本和tomcat版本的不对应。
- jar包的丢失或者版本不对应。
解决方案:
maven项目的问题,需要将maven的本地repository删除重新下载,建议使用国内的仓库镜像。
- 修改maven setting.xml中的镜像地址(阿里镜像,建议修改到国内)
1 <mirror>
2 <id>alimaven</id>
3 <mirrorOf>central</mirrorOf>
4 <name>aliyun maven</name>
5 <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
6 </mirror>
- 删除本地Repository的文件,重新下载
- clean 项目,重启服务器。
2.Tomcat部署项目出现Web app root system property already set to different value
描述:
Tomcat部署项目后报错Web app root system property already set to different value
原因:
Tomcat部署多个项目后,未在Web项目的中web.xml中设置webAppRootKey值。
解决方案:
在每个Web的web.xml中增加如下初始化参数
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>root.key(换成自己的key值)</param-value>
</context-param>
3. idea 社区版 使用smart tomcat 报错 Content is not allowed in prolog
描述:
前一日启动没问题,今天运行报错 Content is not allowed in prolog
原因:
smart tomcat是以插件形式植入idea,插件有更新未及时更新
解决方案:
在插件管理里面将smart tomcat更新,重启idea即可
4.Tomcat启动日志中文乱码
描述:
tomcat启动,控制台输出中文乱码
原因:
- cmd窗口没有切换到友好支持中文的编码
- tomcat日志配置编码错误
解决方案:
- 针对cmd窗口编码,可以在cmd窗口中切换编码,使用"chcp 65001"切换到UTF-8编码,
- tomcat日志配置编码错误,进入tomcat目录conf下,打开logging.properties文件,找到java.util.logging.ConsoleHandler.encoding,将值改为GBK,或者直接注释掉该行(在前面加上#即为注释)。
有兴趣的小伙伴可以关注公众号【暴走的怪兽君】,常更新Java干货资讯,免费提供大量教程和工具下载。