本地打包编译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。

重新进行编译打包,部署测试,问题解决,查看构建信息,如下图所示。

三、总结

  1. 通过mvn -v 命令查看的结果并不可行,需要对所有修改点进行检查验证,不能相当然。
  2. 项目打包编译尽量不要在本地进行,由于本地笔记本安装多版本jdk环境,进行切换很有可能出错(由以上可知步骤较多),从而导致线上故障。
posted @   明明不平凡  阅读(790)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示