本地打包编译jdk版本问题
一、遇到的问题
进行项目接入pinpoint-ice插件,启动项目时pinpoint-agent日志报如下不支持jdk8的错误。’
二、排查
我们是在个人笔记本电脑上windows环境下通过maven命令进行打包编译,由于安全代理的运行环境是jdk1.7,所以将使用的IDE都调整了使用1.7打包编译,并调整本地环境变量指向jdk1.7,通过mvn -v 命令查询如下所示:
打包完成,上传运行,还是原来的问题,之后将所打的pinpoint-ice包进行解压如下所示问题,打的包还是由jdk1.8构建。
于是想到是不是jdk1.7的环境变量没有生效,通过java -version命令查看果然是jdk1.8。下图是环境变量path的内容,途中红框1在2之上是正确的的位置(修改之前是2在1上面导致jdk1.7没生效),具体为什么这样做可自行百度。之后通过java -version查询到jdk版本变成1.7。
重新进行编译打包,部署测试,问题解决,查看构建信息,如下图所示。
三、总结
- 通过mvn -v 命令查看的结果并不可行,需要对所有修改点进行检查验证,不能相当然。
- 项目打包编译尽量不要在本地进行,由于本地笔记本安装多版本jdk环境,进行切换很有可能出错(由以上可知步骤较多),从而导致线上故障。