当前位置: 首页 > news >正文

Mac安装Ecplise产品报错:dose not contain the JNI_CreateJavaVM symbol

1. 絮絮叨叨

  • 工作中需要借助Ecplise Memory Analyzer (MAT)分析dump文件,直接下载、安装、运行MAT报错
    在这里插入图片描述
  • 询问同事后,同事说可以先安装Ecplise,再以插件的形式安装MAT
  • 下载、安装好Eclipse,点击运行仍然报错,且错误信息一致
  • 笔者使用JDK 17.0.6,ls -l报错的目录,libjvm.dylib是存在的
  • 同时,笔者使用的是Mac M2 aarch64架构(Mac M2芯片),跟同事一起确认了下载的安装包没有问题
    在这里插入图片描述

2. 正确的解决办法

  • 对应的lib存在、Ecplise产品安装包又是mac aarch64的,这时需要考虑JDK是否正确
  • 使用如下命令查看JDK架构:
     java -XshowSettings:properties -version
    
  • 发现JDK竟然是x86_64的,也就是说是Intel的芯片
    在这里插入图片描述
  • 参考笔者之前的博客:《Open JDK下载》,下载了Eclipse Adoptium提供的aarch64的JDK 17.0.6安装包
  • 重新安装后,再次执行上述命令可以看到,JDK架构已经成功更新为aarch64
    在这里插入图片描述
  • 这时,再重新安装MAT,点击运行,一切OK 😄 😄 😄
    在这里插入图片描述

3. 后记

  • 最开始,一直以为是MAT无识别相对路径,按照某些解决方案修改其Info.list,直接指定libjvm.dylib的绝对路径
    • Mac OS, JDK1.7 (and 1.8) does not contain the JNI_CreateJavaVM symbol
    • Eclipse: JVM shared library does not contain the JNI_CreateJavaVM symbol
  • 直到看到这篇博客后,才受到启发可能是JDK架构不兼容:Mac上解决dose not contain the JNI_CreateJavaVM symbol 👍 👍 👍
  • 之前一直都没有过是JDK架构不兼容,因为使用x86_64的JDK使用也快3个月,基于IntelliJ IDEA搭建的IDE、运行Java程序什么的根本没问题
  • 笔者在修改Info.list无果后,一直觉得是自己的M2芯片太新了,Ecplise不支持 😭 😭
http://www.lryc.cn/news/182855.html

相关文章:

  • 如何使用大语言模型来绘制图画
  • 代码随想录算法训练营第23期day11 | 20. 有效的括号、1047. 删除字符串中的所有相邻重复项 、150. 逆波兰表达式求值
  • 数据结构-优先级队列(堆)
  • C++11新特性(语法糖,新容器)
  • 开机可用内存分析Tip
  • 【Python基础】4. 基本语句
  • 兼顾友好与安全,隐私协议 Unijoin 助推新一轮 Web3 浪潮
  • TCP端口崩溃,msg:socket(): Too many open files
  • 基于Laravel 5.6的运动健身类小程序前后端源码
  • NodeMCU ESP8266硬件开发板的熟悉
  • 计算机毕业设计 基于SSM的在线预约导游系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • Mac 挂载 Alist网盘
  • 【多模态融合】TransFusion学习笔记(1)
  • (二)正点原子STM32MP135移植——TF-A移植
  • 将二叉搜索树转化为排序的双向链表
  • 电脑dll丢失应该怎么解决,dll文件丢失怎么恢复方法分享
  • 通达信和同花顺能否实现程序化自动交易股票,量化交易如何实现?
  • 基于Kylin的数据统计分析平台架构设计与实现
  • Linux CentOS7 vim寄存器
  • 摄影后期图像编辑软件Lightroom Classic 2023 mac中文特点介绍
  • 一种4g扫码付费通电控制器方案
  • 桌面自动化工具总结
  • Python入门教程 | Python 常用标准库概览
  • 【JavaScript】读取本地json文件并绘制表格
  • 前端笔试题总结,带答案和解析(一)
  • LeetCode 202 快乐数
  • 国庆作业day6
  • 李沐深度学习记录4:12.权重衰减/L2正则化
  • 堆--数组中第K大元素
  • ipad使用技巧