原因分析
本地同时安装了多版本JDK,也配置了多个系统变量,类似下面:

但是本地执行java -version却显示默认jdk11,原因是:
如果检查配置时,java -version 显示的版本不对、配置未生效,检查系统环境变量Path,发现开头有:
C:\Program Files\Common Files\Oracle\Java\javapath
C:\ProgramData\Oracle\Java\javapath
C:\Program Files\Common Files\Oracle\Java\javapath: 安装Java8时,Oracle会在path路径中添加C:\Program Files (x86)\Common Files\Oracle\Java\javapath,这个是自动配置;可以将其删除,因为我们自己会手动配置。
C:\ProgramData\Oracle\Java\javapath : 这个目录下就三个快捷方式:java.exe, javaw.exe, javaws.exe。在使用的过程中(比如J2EE项目运行)会把按照配置的 JAVA_HOME 路径加载java.exe、javaw.exe、javaws.exe,并在某一默认的路径(Windows电脑一般是 C:\ProgramData\Oracle\Java\javapath\)下生成以上三个文件的快捷方式。而在改变 JAVA_HOME 的时候,这三个文件的快捷方式仍然是之前的快捷方式,所以就会有问题了。