IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Mac上解决dose not contain the JNI_CreateJavaVM symbol -> 正文阅读

[Java知识库]Mac上解决dose not contain the JNI_CreateJavaVM symbol

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。

  • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
  • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
  • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

Mac上解决dose not contain the JNI_CreateJavaVM symbol

本文关键字:Mac、Eclipse、DBeaver、JVM、OpenJDK

一、问题描述

在Mac系统上运行Eclipse或某些基于Eclipse封装的软件(如:DBeaver)时,可能会遇到如下问题:

核心信息为:The JVM shared library “…” does not contain the JNI_CreateJavaVM symbol,其中省略的部分为libjvm.dylib文件的调用路径。

二、产生原因

可以看到这是一个典型的环境问题,Eclipse的运行需要预先安装Java环境,并且版本需要兼容。产生上述问题的原因可能有以下几个:

  • 对应文件已经损坏
  • 版本与要求不匹配
  • 系统架构不能兼容

如果系统本身并不存在任何的Java环境(软件本身也未附带JRE),则会提示另外的错误信息:No Java virtual machine was found。此时应该下载安装JDK,并配置环境变量。

三、解决方法

本方法适用于解决所有基于Eclipse封装的软件,某些需要Java环境运行的软件也可借鉴此办法。

1. 打开配置文件

修改配置文件的目的是为了自己指定JDK家目录以及java命令的完整位置,修改方法如下。

  • 右键软件包 - 显示包内容:

  • 用文本编辑工具打开Info.plist

2. 确定修改位置

定位到key标签内容为Eclipse的部分:

准备在array标签后进行添加。

3. 获取JDK路径

安装好JDK后,如果需要查询家目录位置可以使用如下命令:

/usr/libexec/java_home -V

会显示出当前系统已经安装的JDK版本和当前默认使用的版本。

注:如果将解压安装的JDK复制到 /Library/Java/JavaVirtualMachines 路径下也会自动扫瞄,不同系统版本的JDK存放路径可能不同,以显示为准。

4. 修改配置文件

在指定位置添加如下内容,以jdk18为例:

<string>-vm</string>
<string>/Library/Java/JavaVirtualMachines/jdk-18.0.1.1.jdk/Contents/Home/bin/java</string>

效果如下:

保存退出即可,重新运行软件,问题已经解决。

5. 版本如何选择

大家在进行操作时,可以将可能性逐个排除,因为有些时候我们可能没办法精确查找到软件对于Java环境的要求。
在将运行环境指向已安装的JDK后,如果问题依然存在,可能是文件损坏(但是概率极低),可以通过重新安装来排除。
如果重新安装后问题依然存在,需要检查JDK与系统架构是否匹配。目前很多M1芯片的笔记本应该使用arm架构的版本,某些软件对运行环境的要求会比较严格。
如果是版本不匹配一般会有类似Unsupported vsersion之类的提示,可以根据版本号提示再次进行尝试。
小编是在折腾DBeaver时遇到了这个问题,这个软件本身其实已经内置了Java环境,但是很有可能是基于x86_64架构的,最后将环境指向了基于arm架构的OpenJDK,问题解决。
需要的小伙伴可以点击链接下载:https://jdk.java.net/18/

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-06-01 15:02:20  更:2022-06-01 15:03:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:33:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码