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

来源:互联网 发布:三国志 三国演义 知乎 编辑:程序博客网 时间:2024/05/29 19:39

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

第一种主要是因为给定目录下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移到最前面,结果所有问题都解决啦~



0 0
原创粉丝点击