在Java中常遇到的异常整理:一

218 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。


声明:本篇异常整理仅是本人在日常开发中遇到整理,解决思路并非完全正确,方案仅供参考。

1.Tomcat启动报错Failed to start component [StandardEngine[Catalina].StandardHost[localhost]

描述:

最近将以前写的项目重新导入进Eclipse调试启动时出现报错:Failed to start component [StandardEngine[Catalina].StandardHost[localhost]。

原因:

  1. web.xml文件的错误,某处的单词可能拼错等错误导致web.xml解析错误。
  2. jdk版本和tomcat版本的不对应。
  3. jar包的丢失或者版本不对应。

解决方案:

maven项目的问题,需要将maven的本地repository删除重新下载,建议使用国内的仓库镜像。

  1. 修改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>
  1. 删除本地Repository的文件,重新下载
  2. 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启动,控制台输出中文乱码

原因:

  1. cmd窗口没有切换到友好支持中文的编码
  2. tomcat日志配置编码错误

解决方案:

  1. 针对cmd窗口编码,可以在cmd窗口中切换编码,使用"chcp 65001"切换到UTF-8编码,
  2. tomcat日志配置编码错误,进入tomcat目录conf下,打开logging.properties文件,找到java.util.logging.ConsoleHandler.encoding,将值改为GBK,或者直接注释掉该行(在前面加上#即为注释)。

image.png


有兴趣的小伙伴可以关注公众号【暴走的怪兽君】,常更新Java干货资讯,免费提供大量教程和工具下载。