一、省流:
环境变量Path里面,把%JAVA_HOME%\bin上移至最前面。
二、前提情景
今天在使用Maven打包工程时,发现新生成的jar包无法运行。查看异常信息后才发现是代码编译的jdk版本与系统配置的jdk版本不一致。
由于平时总认为越新的越好,所以在开始创建工程时使用的jdk22(IDEA中可以查),而系统配置的jdk版本是19(命令行中可查)
win+r
输入cmd
输入下列代码后即可查看
java -version
本以为只需要简单地更改环境变量即可
于是按照基本步骤,下载最新的jdk版本(jdk-22.0.2),更改JAVA_HOME路径为jdk-22.0.2文件夹所在路径。Path变量里原本就包含%JAVA_HOME%\bin,在确认无误后,本以为皆大欢喜。但输入java-version后,jdk还是原来的19。
——删除path变量中的%JAVA_HOME%\bin条目,重新添加
——关机重启
——向众神祈祷(bushi)
在尝试各种办法之后,并没有解决问题。而且我在看别人的解决方法中,都是之间更改JAVA_HOME的值就成功了。
无意间,我看到了一条指令:
where java
结果有三行地址,而其中我需要的jdk排在第三行
三、解决方法
抱着试一试的看法,我重新观察了一下path环境变量的条目,在编辑时,右侧有上移和下移按钮
于是我把%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin都上移到最上面时,再次使用where java指令和java -version,结果如下所示。
D:\JDKS\jdk-22.0.2\bin\java.exe
C:\Program Files\Common Files\Oracle\Java\javapath\java.exe
C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe
java version "22.0.2" 2024-07-16
自此,成功解决该问题。打包都的jar包也能成功运行!
希望能对你有所帮助。
四、补充
按照上面的方法捣鼓之后,path变量再次编辑时,就变成一行文本了。
后来看到有个评论说环境变量的值,如果以%开头,就会这样。然后我把一个不是%开头的路径放在第一位后,成功解决这个问题