JAVA _ HOME 被设置为无效目录:

我已经在我的系统 < code > C: Program Files Java jdk1.8.0 _ 中设置了 JAVA_HOME 我尝试在命令提示符下运行 cordova 命令(cordova build) ,但是我得到了下面的错误。我尝试了所有的方法,但是不能解决这个问题

错误: JAVA _ HOME 被设置为无效目录: C: Program 文件 Java jdk1.8.0 _ 131 bin;

请在您的环境中设置 JAVA_HOME变量以匹配 Java 安装的位置。

345774 次浏览

你应该把它设置成 C:\Program Files\Java\jdk1.8.0_12

不需要 \bin

JAVA_HOME应该指向主 jdk 目录,而不是 jdk/bin目录。

你需要像这样设置 JAVA_HOME:

JAVA_HOME="C:\Program Files\Java\jdk1.8.0_131"

删除 \bin,也删除结尾的 ;。重新启动 cmd 并运行。

试试以下方法:

  • JAVA_HOME路径中删除 \bin
  • 打开新的命令行窗口。
  • 以管理员身份运行命令。

在 Window10上,问题出在分号 ;上。

转到 edit the system environment variables并删除 JAVA_HOMEC:\Program Files\Java\jdk1.8.0_144末尾的分号

换句话说,把这个 C:\Program Files\Java\jdk1.8.0_12;转换成 C:\Program Files\Java\jdk1.8.0_12

您可能必须删除 Windows 对话框中的条目并创建一个新条目。如果您曾经有多个条目并得到较大的 表格视图,Windows 会自动在每个条目的末尾插入一个 ;,即使您只剩下一个条目。

JAVA _ Home设置为 C: Program Files Java jdk1.8.0 _ 172

不要使用具有以上 JAVA _ HOME 值的分号“ ;”

要验证设置是否正确,请转到 命令提示符检查 C: ... . > Sdkmanager —— list

一个完整的列表将出现,让您现在,它是成功地保存。

否则它将显示 JAVA _ HOME 路径设置不正确的错误。

JAVA _ HOME 应该是 C:\Program Files\Java\jdk1.8.0_172,不要在路径中包含分号(;)或 bin。任何 jdk 版本以上7将工作。此外,您需要重新启动 cmd

我认为您需要从 java 路径的末尾删除‘ ;’。

设置 JAVA _ HOME 变量后,以管理员身份运行 android Studio

您只需使用 C: Program Files Java jdk1.8.0 _ 12进行设置。

并检查使用新的 cmd。它将被更新

首先尝试从路径中删除“ bin”并设置主目录 JAVA _ HOME 如下: C: Program Files JAVA jdk1.8.0 _ 131

第二次更新系统:

  1. 在“环境变量”窗口的“系统变量”下选择路径
  2. 点击“编辑...”
  3. 在「编辑环境变量」视窗中按「新建」
  4. 输入% JAVA _ HOME% bin

第三次重启码头。

参考 链接设置窗口中的 java 路径。

我是在安装 Flutter 的时候用谷歌搜索 Android 许可证的问题时发现这个问题的。

对于 Linux,更新您的 ~/.bashrc(或其他 shell 配置)文件,在末尾添加以下代码行:

JAVA_HOME=/usr/local/android-studio/jre

注意: 我按照 Linux 官方安装指南(链接)安装了 Android 工作室。

对于 窗户,使用 android 工作室到 jre目录的路径,并用正确的值更新环境变量。

然后,运行 flutter doctor --android-licenses和按 y审查不被接受的许可证。 为每个许可证按 y。它将在许可证文件的末尾询问 Accept? (y/N):。 在你接受所有未获接纳的牌照后,你应该看到:

All SDK package licenses accepted

请删除/bin 甚至分号; 从 JAVA _ HOME 解析。

检查系统变量中 JAVA_HOME的重复条目。

在我的例子中,上面的答案都不起作用,但我有两个 JAVA_HOME条目,删除一个工作。

我用的是 jenv

在我的例子中,我使用了 jenv,但是没有设置 Java 版本,所以 jenv 指向的路径实际上是一个 Java 安装。

当我运行 echo $JAVA_HOME时,它显示的是 /Users/username/.jenv/versions/system,并且没有这样的文件或目录。

设置 java 的一个版本

我只需要执行 jenv global 15 或者 jenv local 15,以指定我实际想使用的版本,并且当我重新运行 echo $JAVA_HOME时,JAVA_HOME发生了变化。

关于 LinuxMac:

  1. 找到路径 java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home'
  2. 结果如 java.home = /usr/lib/jvm/java-11-openjdk-amd64
  3. 复制: /usr/lib/jvm/java-11-openjdk-amd64
  4. 在配置 bash 文件中添加一行(例如,~/.zshrc) : export JAVA_HOME=<resultFirstStep>

我已经设置了这样的 VS 项目代码。它为我工作

JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_321.jdk/Contents/Home"

在复制 JDKPATH 时,排除其中的 bin 文件夹。

例如:。

C: Program Files Java jdk-15.0.2

你的路径应该看起来像吹,你只需要编辑它,并删除垃圾箱文件夹

C: Program Files Java jdk-15.0.2 bin