在查阅了很多资料后发现,网上大部分都只提供了两种解决方案。
第一种主要是因为给定目录下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移到最前面,结果所有问题都解决啦~