运行Eclipse出错:Failed to load the JNI shared library jvm.dll

在查阅了很多资料后发现,网上大部分都只提供了两种解决方案。

第一种主要是因为给定目录下jvm.dll不存在,解决方法很简单,重新安装jdk并配置好环境变量或者copy一个jvm.dll放在该目录下。

第二种主要是因为eclipse与jdk版本不一致,一个32位一个64位。解决方案是重新安装eclipse或者jdk,要么都装32位要么都装64位。顺便附上检查eclipse和jdk版本的方法。

检查jdk版本:cmd命令下输入java -version


检查eclipse版本:在eclipse安装目录下找到文件eclipse.ini用记事本打开,win32.x86就是32位,win32.x86_64就是64位


大部分报错都属于第二种情况,eclipse和jdk的版本不同。

PS:很多人发现自己版本不同,然后重装jdk结果还是报错!因为他们重装jdk后没有重新配置jdk的环境变量~

但我的情况比较特殊,我的jvm.dll文件存在,并且eclipse和jdk均为64位,但仍然会报错。

后来折腾了一会发现,在我的控制面板里竟然有两个java程序,一个后面有(64-bit),一个后面没有,那个后面没有带(64-bit)的已经被我卸载了。

然后我惊奇的发现,我的eclipse已经打不开啦~无论怎么点都没反应,这下好了,连错都不报了,直接废了~

后来又折腾了一番,想了个曲线救国的方法,直接为eclipse指定jdk启动。

还是上面的那个eclipse.ini文件用记事本打开,在第一行加上

-vm
C:\Program Files\Java\jdk1.8.0_111\bin\javaw.exe


PS:当电脑上安装了多个版本jdk时,可以用这个方法为eclipse指定jdk的版本~

结果发现eclipse可以启动了,spring插件也安装好了,也不报错了~然而新的问题又出现了~~~


之前在cmd命令下输入java -version可以查看jdk版本,现在输入java -version直接告诉我:系统找不到文件 C:\ProgramData\Oracle\Java\javapath\java.exe。

大概是因为上面我把那个java程序删了的缘故,虽然eclipse可以用了,但是为了避免为以后挖坑加上轻度的强迫症,我决定还是把这个问题解决一下比较好。


后来查找资料发现,“系统找不到文件 C:\ProgramData\Oracle\Java\javapath\java.exe”是因为jdk的环境变量没有配置好。

纳尼?我反复检查了好几遍环境变量,并没有配错啊。


后来我在Path路径里发现了C:\ProgramData\Oracle\Java\javapath这个环境变量,可能是系统查找时默认C:\ProgramData\Oracle\Java\javapath下的java.exe吧,我试着把环境变量%JAVA_HOME%\bin移到最前面,结果所有问题都解决啦~



"failed to load then jni shard library jvm.dll" 这个错误通常在尝试运行Java应用程序时出现。它表示无法加载jvm.dll这个JNI共享库文件。以下是一些可能的解决方案: 首先,确保您正在使用的是正确版本的Java运行时环境(JRE)或Java开发工具包(JDK)。如果您安装了多个Java版本,请检查您的系统环境变量中的JAVA_HOME设置,并确保它指向正确的Java安装目录。 其次,检查您的系统是否正确设置了JAVA_HOME环境变量。如果没有,请手动设置它,指向正确的Java安装目录。 如果您尝试在64位系统上运行32位的Java程序,或者反之,可能会导致这个错误。请确保您正在使用与您的操作系统架构(32位或64位)相匹配的Java版本。 还有可能是由于损坏的Java安装文件导致的问题。在这种情况下,您可以尝试重新安装Java以修复这个错误。 另外,如果您正在使用Eclipse或其他IDE,请确保您的项目配置正确,包括指定了正确的JRE或JDK路径。 最后,如果您的计算机上没有安装Java,您可能需要下载并安装一个适当的Java版本。在安装过程中,请确保您选择正确的安装选项,以便安装所需的JNI库文件。 总之,"failed to load then jni shard library jvm.dll" 错误通常是由于Java环境配置问题引起的。通过检查您的Java安装、环境变量、系统架构以及IDE配置,您应该能够解决这个问题。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值