win10里装两个jdk产生的javac报错和版本不一致问题

前言:在win10已有jdk1.8.0_221(64bit)的基础上再装个jdk1.8.0_171(32bit)。

原先的系统环境变量:
win10里装两个jdk产生的javac报错和版本不一致问题win10里装两个jdk产生的javac报错和版本不一致问题
path:
win10里装两个jdk产生的javac报错和版本不一致问题
安装好jdk1.8.0_171后修改环境变量JAVA_HOME为
win10里装两个jdk产生的javac报错和版本不一致问题
然后出现下面的

问题一:cmd 输入java没问题,但是输入javac就会报错:javac不是内部或外部命令,也不是可运行的程序 或批处理文件的细节。

解决:

①cmd进入java安装下的bin目录,然后输入javac正常,那说明jre安装没问题,是环境变量的问题。
win10里装两个jdk产生的javac报错和版本不一致问题
②将path里跟JAVA_HOME有关的两个变量末尾的;去掉,如下图。然后cmd 直接输入javac就正常了。
win10里装两个jdk产生的javac报错和版本不一致问题
原因:可能是因为path本身就是换行显示每个变量了就不用加;了。如果是下面这样一行显示所有变量的话就要加;了。win10里装两个jdk产生的javac报错和版本不一致问题

之后出现了下面这样的问题

问题二:java和javac版本不一致

win10里装两个jdk产生的javac报错和版本不一致问题

解决:将path里的那两个变量移到最上面。

win10里装两个jdk产生的javac报错和版本不一致问题
但不知道为什么这样path就变成一行了,自动给变量末尾加了;。
win10里装两个jdk产生的javac报错和版本不一致问题win10里装两个jdk产生的javac报错和版本不一致问题

末尾:以后想要切换不同版本的jdk,只要修改JAVA_HOME就可以了。
下面这两个jre是一样的,选择哪个都可以。我的环境变量里选的是jdk里面的jre。
win10里装两个jdk产生的javac报错和版本不一致问题
win10里装两个jdk产生的javac报错和版本不一致问题