将问题记录下来,希望将解决思路和解决方案给人以参考。正所谓问题千千万万,解决方式只有一个。
Tomcat报错
1.IOException while loading persisted sessions: java.io.EOFExceptionException loading sessions from persistent storage
解决
- 删除Tomcat里面的work/Catalina/localhost下的内容
原因
tomcat非正常关闭时的session被持久化在硬盘上,启动服务时恢复tomcat的session数据失败。
2.文档根元素 “beans” 必须匹配 DOCTYPE 根 “null”
解决
- 排除文件格式、项目编译、部署等问题;
- 根据异常栈获取关键类源码进行调试;
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter
- 发现xm解析时是按照dtd格式解析的,想到spring1.x和spring2.x以后的xml配置解析区别,一个是doctype,一个是schema。
- 怀疑解析xml的spring版本与lib下的jar不是一个,排查pom下的依赖包发现,第三方包依赖了spring1;
- 在pom里引入第三方包的时候将spring1排除掉,重新编译,问题消失。
Nexus报错
1.将第三方包deploy到Nexus服务器,提示:Return code is: 401, ReasonPhrase: Unauthorized
解决
- setting.xml文件的中配置一个server;
- 修改-DrepositoryId与setting.xml文件中的server的id一致;
原因
- 没有权限deploy或者-DrepositoryId与pom.xml文件中的repository的id不一致
Maven报错
1.访问Maven库http://repo.maven.apache.org/maven2/***,提示:501 HTTPS Required.
Use https://repo.maven.apache.org/maven2/
More information at https://links.sonatype.com/central/501-https-required
解决
提示已给出解决办法:使用HTTPS访问
原因
自2020年1月15日起,中央存储库不再支持通过纯HTTP进行的不安全通信,并且要求对存储库的所有请求都通过HTTPS进行加密。