JAVA_HOME设置为无效目录:

时间:2017-07-19 06:41:07

标签: java android cordova

我在我的系统JAVA_HOME中设置了C:\Program Files\Java\jdk1.8.0_ 131\bin;,我正在尝试在命令提示符下运行cordova命令(cordova build),但我收到了错误。我已尝试过所有方法,但无法解决此问题:

  

错误:JAVA_HOME设置为无效目录:C:\ Program   Files \ Java \ jdk1.8.0_ 131 \ bin;

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

19 个答案:

答案 0 :(得分:66)

您应该使用 C:\Program Files\Java\jdk1.8.0_12 设置它。

\bin 不是必需的。

答案 1 :(得分:32)

public static IQueryable<CrmObject> ApplyPaging(this IQueryable<CrmObject> data, int page, int pageSize) { if (pageSize > 0 && page > 0) { data = data.Skip((page - 1) * pageSize); } data = data.Take(pageSize); return data; } var data = objectData.ProjectTo<CrmObjectGridVM>(); 应指向home jdk目录,而不是JAVA_HOME目录。

您需要像这样设置jdk/bin

JAVA_HOME

答案 2 :(得分:13)

删除\bin,同时删除最后的;。重新启动cmd并运行。

答案 3 :(得分:7)

尝试以下方法:

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

答案 4 :(得分:4)

JAVA_HOME应该为C:\Program Files\Java\jdk1.8.0_172,路径中不得包含分号(;)或bin。任何高于7的jdk版本都可以使用。另外,您需要重新启动cmd

答案 5 :(得分:2)

JAVA_HOME 设置为 C:\ Program Files \ Java \ jdk1.8.0_172

请勿使用分号“;”具有高于JAVA_HOME值

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

将显示一个完整列表,现在您可以成功保存该列表。

否则,它将显示错误,指出JAVA_HOME路径设置不正确。

答案 6 :(得分:1)

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

就我而言,上述答案均无效,但我有两个条目 JAVA_HOME 并删除了一个有效。

答案 7 :(得分:1)

首先尝试从路径中删除“ \ bin”,然后将主目录JAVA_HOME设置如下: JAVA_HOME:C:\ Program Files \ Java \ jdk1.8.0_131

第二个更新系统路径:

  1. 在“系统变量”窗口中的“环境变量”窗口中,选择路径
  2. 点击“编辑...”
  3. 在“编辑环境变量”窗口中,单击“新建”
  4. 键入%JAVA_HOME%\ bin

第三次重启您的Docker。

有关在Windows中设置Java路径的信息,请参见link

答案 8 :(得分:0)

linux 上:

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

答案 9 :(得分:0)

我使用的是 jenv

就我而言,我使用的是 jenv 但没有设置 java 版本,因此 jenv 指向的路径实际上是 Java 安装。

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

设置java版本

我只需要执行 jenv global 15 jenv local 15 来指定我想要实际使用的版本,并且 JAVA_HOME 在我重新运行时发生了变化{ {1}}。

答案 10 :(得分:0)

请删除/ bin甚至半冒号;从JAVA_HOME解决。

答案 11 :(得分:0)

在安装Flutter时使用Android许可证搜索该问题时,我发现了这一点。

对于 Linux ,通过在末尾添加以下行来更新~/.bashrc(或其他Shell配置)文件:

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

注意:我遵循official installation guide for Linux (link)安装了Android Studio。

对于 Windows ,请使用android studio的jre目录路径,并使用正确的值更新环境变量。

然后,运行flutter doctor --android-licenses并按y来查看不接受的许可证。 为每个许可证按y。它将在许可证文件的末尾询问Accept? (y/N):。 接受所有不接受的许可证后,您应该看到:

All SDK package licenses accepted

答案 12 :(得分:0)

我正在使用 Ubuntu

对我来说,问题是通过在终端中使用 sudo 命令来解决的。

答案 13 :(得分:0)

安装完jdk之后,请重新启动系统 这对我有用

答案 14 :(得分:0)

您只需要设置C:\ Program Files \ Java \ jdk1.8.0_12。

然后使用新的cmd进行检查。将会更新

答案 15 :(得分:0)

设置JAVA_HOME变量后,以管理员身份运行android studio

答案 16 :(得分:0)

我认为您需要删除“;”从Java路径的末尾开始。

答案 17 :(得分:0)

在Window 10上,问题在于分号;

转到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

答案 18 :(得分:-1)

  • 只需将您的JAVA_HOME路径设置为您的jdk目录即可 C:\Program Files\Java\jdk
  • 您可能还需要重新启动才能更新更改。