这个问题时在打开eclipse时报的一个错误,报这个问题的意思我们都明白,说的就是当前版本的jdk版本太低,eclipse需要更高版本的jdk。
那就下一个更高版本的jdk就可以啦,这里我要说说我当时的想法(有可能有些人会出现我一样的想法或是情况),有以下两种情况:
1、公司只要去1.6版本的jdk,我不可能去升级到高版本的jdk来开发呀?(有可能你会想到用低版本的eclipse,可以兼容当前低版本的jdk的eclipse来开发就可了,确实这样是可行的,但是这个不是我们要说的,呵呵)
2、我电脑里面有1.8版本的jdk呀,但还是报这个错误呀?
我们要想解决这个问题,首相要明白的问题,我们只是刚刚打开eclipse软件啥都还做,他问什么要用到jdk?
这是因为eclipse软件本身很多东西就是用Java编程而得,所以eclipse软件本身就需要一个Java的运行环境,也就是需要一个Java虚拟机,所以需要jdk,这个jdk跟我们用eclipse去编程自己的项目所需的jdk是没有关系的。
所以我们的第一个问题就解决了,只需要下一个对应的jdk就可以,因为eclipse本身只需要Java的运行环境,所以其实我们只需要下载1.8本的jre就可以,第一个问题就解决了。
这个时候电脑里有两个jdk了,1.6和1.8的jdk,那都需要配置JAVA_HOME、CLASSPATH、PATH这些,1.8版本的可以不用JAVA_HOME、CLASSPATH、PATH这些参数,因为它只是eclipse的一个运行环境。但是这个时候就会报出现第二个问题,1.8版本的jdk有了还是报这个错误是什么原因。
eclipse打开启动时,它会去找它对应的Java虚拟机,因为1.8版本的是没有配置的,所以它只能知道配置过环境变量的1.6版本的jdk,所以还是报这个错误。这个时候我们就得去eclipse的安装目录下打开eclipse.ini文件,如下
-vm
C:Program FilesJavajre1.8.0_172injavaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.551.v20171108-1834
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
--add-modules=ALL-SYSTEM
加入上面紫色的两行eclipse打开启动时就可以找到对应版本的jdk了。
备注:
eclipse本身运行的版本
eclipse本身编译项目的版本
tomcat使用的版本
都可以设置,互不影响