本地打包编译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环境,进行切换很有可能出错(由以上可知步骤较多),从而导致线上故障。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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 接口并集成到在线客服系统