JAVA_HOME应该指向JDK而不是JRE

我正在尝试为我的项目设置maven,我收到了这个错误

“JAVA_HOME应该指向JDK而不是JRE”

我知道已经有类似的问题,但它没有用。 如何在Windows中将JAVA_HOME指向JDK。 我正在使用IntelliJ IDEA

控制面板 – >系统和安全 – >系统 – >高级系统设置 – >高级 – >环境变量 – >新系统变量

在此处输入图像描述

我在Mac OSX上经历了相同的过程。 我安装了最新的JDK,然后安装了Maven。 有人建议我设置JAVA_HOME变量,所以我将它指向JDK安装文件夹。 当运行Maven mvn compile exec:java我收到了同样的错误NB: JAVA_HOME should point to a JDK not a JRE

我所做的就是取消设置JAVA_HOME变量并且它有效。

通过cmd做到 –

echo%JAVA_HOME%set set JAVA_HOME = C:\ Program Files \ Java \ jdk1.8.0 echo%JAVA_HOME%

如果你有JAVA_HOME环境变量没有正确定义运行这个程序需要这个环境变量NB:JAVA_HOME应该指向JDK而不是JRE错误所以做一件事…键入C:> dir / x你会看到PROGRA~1或May~2和之后的int环境变量Chang JAVA_HOME Dir喜欢这个JAVA_HOME: – C:\ PROGRA~1 \ Java \ jdk1.8.0_144 \也设置在路径中: – %JAVA_HOME%\ bin; 它有效

在IntelliJ IDEA中,转到File>Project Structure>SDK>JDK home path 。 复制它,然后转到My Computer>Advanced Settings>Environment Variables将JAVA_HOME路径更改为您复制的内容。 然后打开新的cmd,并尝试mvn -v

它对我有用!!!

我遇到了同样的问题。 (Window 10环境)我通过删除用户变量中的JAVA_HOME =“C:\ Program Files \ Java \ jdk1.8.0_161 \ bin”而不是直接添加到系统变量来解决它。

然后我测试编辑JAVA_HOME =“C:\ Program Files \ Java \ jdk1.8.0_161 \”也工作。 当我在命令提示符窗口中运行“mvn -version”时,它显示“Java home:C:\ Program Files \ Java \ jdk1.8.0_161 \ jre”。

总之,我猜JAVA_HOME不应该包含bin目录。

在User变量中添加JAVA_HOME = C:\Program Files\Java\jdk(version) ,它适用于我。 对我来说,它不适用于bin,即使我在系统变量中创建JAVA_HOME

只需删除JAVA_HOME变量值末尾的分号。

 set JAVA_HOME as C:\Program Files\Java\jdk1.8.0_171 

它对我有用。

我花了3个小时来解决错误JAVA_HOME环境变量未正确定义。 运行此程序需要此环境变量NB: JAVA_HOME应指向JDK而不是JRE

最后我得到了解决方案。 请通过“ Browse Directory按钮/选项设置JAVA_HOME值。 尝试找到jdk路径。 例如: C:\Program Files\Java\jdk1.8.0_181

它将删除分号问题。 :d 浏览目录选项

如果删除了JRE路径,请确保没有JRE路径。

  1. 在System变量中添加JAVA_HOME 。 变量值: C:\Program Files\Java\jdk-10.0.2 (没有bin的JDK的位置)
  2. 在System变量中添加M2 。 变量值: C:\dev\maven\apache-maven-3.5.4\bin (带有bin的maven的位置)
  3. 在System变量中添加M2_HOME 。 变量值: C:\dev\maven\apache-maven-3.5.4 (没有bin的maven的位置)
  4. 在路径系统变量或C:\Program Files\Java\jdk-10.0.2C:\dev\maven\apache-maven-3.5.4\bin添加%JAVA_HOME%%M2% – >对于Windows 10,只需添加位置。 对于其他版本,在“变量值”字段的末尾添加分号,然后添加位置Ex: ;%JAVA_HOME%;%M2%

我没有检查添加或删除bin是否会改变结果但是这对我有用。