java有两个版本切换时遇到的问题(错误描述: Eclipse is running under 0, but...)

错误描述: Eclipse is running under 0, butthis Java project has a 10 Java compliance level, so WindowBuilder will not be able to load classesfrom this project. Use a lower level of Java for the project, or run Eclipse using a newer Javaversion. 

在使用Eclipse的windowBuilder想偷懒时,出现了如上错误,在网上查应该是因为java版本太高windowBuilder不适用。然后我安装了1.8的jdk并且把JAVA_HOME的路径改为1.8的。但是发现Eclipse用的版本还是java10的。

此时在win+R cmd 运行 java -version 出现的是jdk10,运行 javac -version 出现的是1.8。在上网查询后通过( https://www.cnblogs.com/leiqin/p/5270168.html )这个小姐姐的博客发现是之前Oracle的问题。把Oracle的java环境变量删除之后,再次运行java/javac -version 却提示“java不是命令”,并且Eclipse也打不开,电脑认为没有安装java。

最后检查发现在改JAVA_HOME时我在后面加了个“;”,如下所示

java有两个版本切换时遇到的问题(错误描述: Eclipse is running under 0, but...)

 

加了分号之后JAVA_HOME再双击就是列表的形式,并且没有显示分号

java有两个版本切换时遇到的问题(错误描述: Eclipse is running under 0, but...)

 

此时要改回去要选择右侧编辑文本,把分号去掉

java有两个版本切换时遇到的问题(错误描述: Eclipse is running under 0, but...)

 

此时再 java/javac -version 显示的版本就都是1.8了。

重启Eclipse,提示“Error: A JNI error has occurred, please check your installation and try again”,尝试( https://blog.csdn.net/weixin_42173451/article/details/89334753 )这位小伙伴的做法,顺利解决。java1.8的GUI真的要土气一些啊。。。

后续再切换java版本的时候直接改JAVA_HOME的地址就行了。Eclipse的java版本切换用上一段的同学的方法即可。