解决h2数据库数据启动失败问题 A JNI error has occurred
lipiwang 2024-11-20 18:31 8 浏览 0 评论
因为h2数据库其内存特性、轻量级、高兼容性和易于配置的特点,使得它成为项目中单元测试的理想选择。
作为开发人员,我们在本地启动h2数据库,可以方便开发。启动h2数据库非常简单,只需要下载h2数据库程序文件,直接启动即可。
问题描述
本次使用的开发环境是windows。运行的是官网下载的h2程序包:
执行 h2.bat 批处理文件以启动数据库,但是报错了:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/h2/tools/Console has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
尝试下载安装包安装后试试,启动时还是报同样的错:
Error: A JNI error has occurred, please check your installation and try again
问题分析
h2数据库是Java开发的,这个报错信息java环境问题导致的。
错误大致意思是当前的 H2 数据库的类文件是由更高版本的 Java 编译的,而当前使用的 Java 运行时环境(JRE)版本过低。
具体来说,错误信息指出正在使用的 Java 运行时只支持到 class 文件版本 52.0,而当前 H2 数据库类文件是由版本 55.0 的 Java 编译的,而 class 文件版本 55.0 对应的是 Java 11。
查看java环境变量:
可以看到,当前Java环境是1.8,只需要升级升级 Java 运行时环境到 Java 11 或更高版本即可解决问题。
问题解决
下载jdk11,方便网友解决问题,这里贴出软件包的直接下载地址:https://cfdownload.adobe.com/pub/adobe/coldfusion/java/java11/java11023/jdk-11.0.23_windows-x64_bin.exe
下载完成后直接安装:
在意c盘空间的,可更改安装路径:
安装完成后,重新打开windows命令窗口,使用命令 java -version 查看java环境:
已经安装好了。
重新启动h2数据库:
启动成功了,连接成功了::
(完)
相关推荐
- lushdns – 如何使用 Windows ipconfig /flushdns 命令刷新 DNS
-
您可能已经注意到,第一次访问网站后,下次访问时该网站的加载速度会更快。这是因为您的操作系统或浏览器(如果是GoogleChrome)会缓存您访问的任何网站的IP地址和DNS(域名系统)信息。...
- Windows10电脑无法直接连接已保存无线网络逐步排查和解决方案
-
可能原因分析IP地址冲突:系统未能正确获取或释放IP地址,导致与路由器通信失败。DNS缓存/网络配置错误:旧的缓存或错误配置阻碍新连接。无线网卡驱动问题:驱动不兼容或存在故障。电源管理干扰:系统为省电...
- 删除电脑dns缓存(如何删除dns缓存)
-
用Windows+R快捷键打开「运行」,输入cmd,然后按Ctrl+Shift+Enter以管理员权限启动「命令提示符」。输入:ipconfig/flushdns回车...
- 电脑插网线无法上网的系统化解决方案
-
当电脑插上网线却无法访问网络时,可从物理连接、网络配置、驱动程序、系统设置等多维度排查问题。以下按优先级排序的解决方案,助你高效定位并解决故障。一、基础排查(解决80%常见问题)检查物理连接首先确...
- 《银与绯》国服海外畅玩解决方案(银绯什么意思)
-
对于海外玩家想要体验《银与绯》国服,使用SixFast游戏加速器是最佳选择。以下是详细操作指南:一、SixFast完整配置流程1.获取SixFast客户端-官网下载:访问sixfast.com选择对...
- steam打不开/商店打不开的最新解决方法来了
-
steam打不开/商店打不开的最新解决方法来了Steam平台采用了统一的账户系统,玩家只需注册一个账户,就可以在平台上购买、下载和玩游戏。遇到Steam平台或商店打不开的烦恼?别担心,这里有几个简单实...
- 电脑恢复DNS最简单方法(如何恢复dns默认设置)
-
当电脑遇到DNS(域名系统)问题时,通常表现为无法访问某些网站或整个网络浏览变得缓慢而不稳定。DNS负责将人类可读的域名(如www.example.com)转换为机器可读的IP地址(如192.0.2....
- WiFi越用越慢?几个简单操作让网络满血复活
-
关注硬件·聪明消费|欢迎关注钛师父动图:耳机震膜工作原理WiFi用了一段时间后便慢了?这恐怕不是幻觉,也不是运营商的猫腻,显然没有人会像苹果一样刻意降低你的网速逼你换套餐甚至换运营商。大多时候这样...
- Win11快速开启DNS加密功能(国内可用)
-
今天我花了三个小时仔细研究了Windows的DNS加密(DoH)相关的内容,最终成功开启了国内可用的DNS加密功能,如果你还不知道什么是DoH并对原理感兴趣,可以参考这篇文章:https://zhua...
- 如何在 Windows 11 或 10 中使用 CMD 清除缓存
-
当你使用操作系统的时间变长,随着时间推移,缓存文件的积累可能会导致Windows11或10系统变慢,还会占用宝贵的存储空间,尤其是当您使用M.2固态硬盘的时候。因此,定期清除缓存文件或许...
- 绝地求生PUBG商店买不了东西Steam界面一直刷新加载的解决办法
-
在绝地求生(PUBG)的最新更新中,游戏引入了一系列新功能和优化,包括地图改进、武器平衡调整以及新的皮肤和物品。然而,随之而来的是一些玩家在尝试从游戏内商店购买这些新鲜内容时遇到了绝地求生PUBG商店...
- Win11正式版网络错误访问提示0x800704cf的问题
-
有深度技术的用户在win11正式版系统电脑中出现网络错误提示0x800704cf错误代码,那么如何解决这个问题?接下来,深度官网小编为大家带来详细的解决方案,大家可以一起来看看。当Win11正式版...
- 网站维护进不去怎么办(网站在维护期间进不去)
-
当遇到网站无法访问并显示维护提示时,可能是临时维护,也可能存在其他故障。以下提供系统的排查步骤与解决方法,助你快速定位问题并解决。一、判断网站是否处于真实维护状态1.官方渠道信息核查公告查询:访问网...
- 网络适配器在设备管理器中消失的恢复方案
-
网络适配器(网卡)在设备管理器中突然消失,会导致设备无法正常联网,这通常由驱动异常、系统冲突或硬件故障引起。为帮助你高效解决问题,以下提供按操作复杂度由易到难排序的逐步恢复方案,请依次尝试。一、基础排...
- 【电脑蓝屏】常见的电脑问题解决方法
-
一、系统问题1.电脑开机慢/卡顿解决方法:关闭开机启动项:Ctrl+Shift+Esc→启动→禁用不必要的程序。清理磁盘:Win+S→搜索“磁盘清理”→勾选临时文件、...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- maven镜像 (69)
- undefined reference to (60)
- zip格式 (63)
- oracle over (62)
- date_format函数用法 (67)
- 在线代理服务器 (60)
- shell 字符串比较 (74)
- x509证书 (61)
- localhost (65)
- java.awt.headless (66)
- syn_sent (64)
- settings.xml (59)
- 弹出窗口 (56)
- applicationcontextaware (72)
- my.cnf (73)
- httpsession (62)
- pkcs7 (62)
- session cookie (63)
- java 生成uuid (58)
- could not initialize class (58)
- beanpropertyrowmapper (58)
- word空格下划线不显示 (73)
- jar文件 (60)
- jsp内置对象 (58)
- makefile编写规则 (58)