JAVA_HOME设置为无效目录:


101

我已经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安装的位置。


8
JAVA_HOME应该C:\Program Files\Java\jdk1.8.0_ 131最多
-ELITE

1
我删除的
邮件

2
更改变量后,您需要重新启动命令行..还在变量的开头和结尾处删除双引号
ELITE

在命令提示符下搜索诸如设置和获取Windows环境变量之类的内容,以查找如何设置和检查环境变量。
flob

1
它的工作正常,但又出现另一个错误。失败:生成失败,出现异常。*出了什么问题:无法启动守护进程。此问题可能是由守护程序的错误配置引起的。例如,使用无法识别的jvm选项。请参阅守护程序上的用户指南一章,网址docs.gradle.org 3.3 / userguide / gradle_daemon.html。请阅读以下过程输出以了解更多信息:---------------- ------- VM初始化期间发生错误,无法为2097152KB对象堆保留足够的空间
Nagarajan M

Answers:




22

删除\bin,然后;最后删除。重新启动cmd后运行。


您的评论挽救了我的生命。谢谢。在末尾添加了半冒号,从而导致Google进行无尽的搜索。除去半冒号后,其效果就像魅力。谢谢
Vasu19


8

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


6

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

不要使用分号“;” 具有上面的JAVA_HOME值

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

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

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


6

在窗口10上,问题出在分号上;

转到edit the system environment variables并删除JAVA_HOME值末尾的分号C:\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也会在每个条目的末尾自动插入一个。



1

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


1
那是行不通的,在设置JAVA_HOME时,不应包含/ bin。如果将其设置为路径,则应包括垃圾箱
Ramindu Samarawickrama

1

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

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


1

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

第二次更新系统路径:

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

第三重启你的泊坞窗。

请参考链接以在Windows中设置Java路径。




0

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

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

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

注意:我是按照Linux官方安装指南(链接)安装Android Studio的。

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

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

All SDK package licenses accepted

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.