JDK升级问题记录

问题记录

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,上线。

posted @ 2022-05-31 16:02  zbjice  阅读(36)  评论(0编辑  收藏  举报