问题记录
1. Tomcat7升级Tomcat8的cookie问题?
An invalid domain [.secoo.com] was specified for this cookie java.lang.IllegalArgumentException
原因:Tomcat8.5+的cookie解析换成Rfc6265CookieProcessor,不允许返回.xxx.com点前缀
解决方式:
依赖权限认证需要ERP相关系统升级pom依赖authorization-client的版本
其它,排查cookie中是否setDomain变量前缀带".",去掉"."!!!举例:
//原:cookie.setDomain(".xxx.com"); //去掉前缀. cookie.setDomain("xxx.com");
2. Tomcat7升级Tomcat8的中文乱码问题
原因:Tomcat7默认URIEncoding="ISO8859-1",Tomcat8默认URIEncoding="UTF-8"
解决方式:更改Tomcat8的server.xml
原因:代码写死编码转换,ISO8859-1转UTF-8
解决方式:删除
原因:代码controller层返回JSON格式,但ResponseEntity返回字符串
解决方式:返回ResponseEntity返回JSON对象
3. Tomcat7升级Tocmat8,Jenkins启动日志中没有启动应用日志
原因:Jenkins部署代码未放在Tomcat默认的webapps目录下
解决方式:更改Tomcat工作目录
<Context path=
"/"
docBase=
"/data/secoo_tomcat/XXX"
reloadable=
"true"
></Context>
4. 开发环境升级JDK8+Tomcat8,开发配置参考
开发环境mysql&redis&oracle配置
开发环境其它工具配置
5. 找不到日志,应用启动提示日志错误等
原因:日志配置错误,版本与Tomcat8冲突,打印不规范
解决方式:推荐直接集成日志组件,日志组件接入流程
6. 应用启动提示“Redis 获取失败”,其它应用可能提示其它Redis加载异常
原因:应用依赖redis-api版本1.0.7中,Jar包中有RedisConfig.xml无用配置文件。升级前,先加载应用配置的文件,升级后,先加载Jar包的配置文件导致,redis找不到。
解决方式:redis-api版本升级至1.0.9版本
7. erpOrder应用升级jdk+日志组件,其中一台线上服务器部署成功,另一台失败,错误提示slf4j-api版本冲突。
原因:尝试对比Tomcat、代码、jdk都相同;尝试其它服务器,其中1台成功、1台失败。根本原因未找到!
解决方式:代码回滚,只升级jdk,上线。