无法解决JDK 15相关Maven问题,提示JAVA_HOME环境变量定义错误
问题解决步骤
报错信息:"The JAVA_HOME environment variable is not defined correctly"
第一步:解决CMD切换JDK版本不生效问题
- 调整环境变量优先级:打开系统环境变量编辑器,找到
Path条目,将你配置的JDK 1.8的bin目录路径(例如C:\Program Files\Java\jdk1.8.0_xxx\bin)上移到所有包含javapath的Java相关条目上方,这类自动生成的javapath路径优先级默认高于自定义JDK路径,会导致版本不切换。 - 删除系统目录残留Java执行文件:进入
C:\Windows\System32和C:\Windows\SysWOW64两个文件夹,查找java.exe、javaw.exe、javaws.exe三个文件,如果存在直接删除,高版本JDK安装时会自动将执行文件拷贝到这两个系统目录,优先级高于环境变量配置。 - 验证版本:修改完成后关闭所有已打开的CMD窗口,重新启动CMD执行
java -version,确认返回版本为1.8后再进行下一步。
第二步:解决Maven JAVA_HOME配置错误问题
- 核对JAVA_HOME变量配置:JAVA_HOME必须配置为系统变量,不要配置为用户变量;变量值填写JDK根目录路径即可,不要指向bin目录,也不要在末尾加斜杠,例如正确写法为
C:\Program Files\Java\jdk1.8.0_xxx。 - 排查Maven本地硬编码配置:进入你使用的Maven解压目录下的
conf文件夹,检查settings.xml或者mavenrc.cmd文件中是否有硬编码的JAVA_HOME配置,如有删除或者修改为你当前的JDK根目录路径,Maven会优先读取本地配置里的JAVA_HOME,覆盖系统变量。 - 核对Maven路径配置:检查
Path变量里添加的Maven bin目录路径是否和你正在使用的Maven版本路径一致,避免多版本Maven路径冲突。 - 验证配置:重启CMD后执行
mvn -v,查看输出中Java home路径是否和你配置的JAVA_HOME一致即可。
补充说明
如果你使用IDEA、Eclipse等IDE开发,还需要单独检查IDE内的项目JDK配置、Maven配置,IDE默认会使用内置的JDK和Maven版本,可能和系统环境变量配置不一致。
内容的提问来源于stack exchange,提问作者Annapoorna Ampu
相关产品推荐
相关产品推荐

