Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
hadoop对获取JAVA_主页的设置不正确_Java_Hadoop_Window - Fatal编程技术网

hadoop对获取JAVA_主页的设置不正确

hadoop对获取JAVA_主页的设置不正确,java,hadoop,window,Java,Hadoop,Window,我刚刚下载了hadoop并解压缩了文件。但当我从命令提示符下运行hadoop版本命令时,我发现了以下错误。我仔细检查,JAVA_HOME被设置为“C:\Program Files\JAVA\jdk1.8.0_45\bin”,这在我看来还行 C:\Users\shri-pc>hadoop version The system cannot find the path specified. Error: JAVA_HOME is incorrectly set. Please u

我刚刚下载了hadoop并解压缩了文件。但当我从命令提示符下运行hadoop版本命令时,我发现了以下错误。我仔细检查,JAVA_HOME被设置为“C:\Program Files\JAVA\jdk1.8.0_45\bin”,这在我看来还行

C:\Users\shri-pc>hadoop version
The system cannot find the path specified.
Error: JAVA_HOME is incorrectly set.
       Please update C:\JAVA\hadoop-2.6.0\conf\hadoop-env.cmd
'-Xmx512m' is not recognized as an internal or external command,
operable program or batch file.
java-version命令的输出正常。请给我一些建议

C:\Users\shri-pc>java -version
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) Client VM (build 25.51-b03, mixed mode)

您的
JAVA\u主页
不应包括
bin
。从

"C:\Program Files\Java\jdk1.8.0_45\bin"

您可以将其添加到您的路径(在Windows中),如


问题是JAVA_主路径中的空间。我改变路径如下,它开始工作

从-

“C:\Program Files\Java\jdk1.8.0\U 45\bin”

到-

“C:\PROGRA~1\Java\jdk1.8.0\u 45\bin”


.

对我来说,转到java路径并将其转换为windows短名称是有效的,如图所示:

从本网站:


如果JAVA\u HOME是
程序文件
,则在JAVA\u HOME环境变量中将其更改为
PROGRA~1

尝试从

C:\ProgramFiles\Java\jdk1.8.0\u 45


C:\PROGRA~1\Java\jdk1.8.0\u 45

路径中的空格将不起作用。 只需删除路径中的任何空格

就我而言,它正在与以下方面合作:

set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_261

我会停止说“我确定……”。Hadoop不同意你的观点。如果你认为自己犯了一个错误,并想尽一切办法找到它,你会取得更快的进步。仅仅java.exe显示正确的版本是不够的。JAVA_HOME设置为什么?您可以显示它。JAVA\u HOME设置为“C:\Program Files\JAVA\jdk1.8.0\u 45\bin”。它应该没有
\bin
。Hadoop将在
%java\u HOME%\bin\java
中查找java,因此如果您的java\u HOME已经包含
\bin
,那么它将查找
C:\Program Files\java\jdk1.8.0\u 45\bin\bin\java
,这显然是不存在的。(这对于JAVA_HOME的使用来说是相当标准的)是的,我首先使用的是没有bin,但它不起作用。我再次尝试删除bin,然后关闭并打开命令提示符,但它给出了相同的错误。应该没有/bin。然后将JAVA_HOME/bin添加到您的路径。是的,Elliott,我已经做了此更改,但仍然得到相同的错误。这是Windows,您通常无法进行更改。尝试重新启动。我的答案包括
设置“PATH=%PATH%;%JAVA\u HOME%\bin”
,这就是如何在Windows上转义变量中的空格(从命令行)。如果您没有64位Windows和Java,那么使用
~1
是可行的。谢谢Elliott。我已经把你的答案标记为这个问题的答案。只有一个建议——如果你能把它作为一个注释放在你的答案中,那么它可能会对看到你答案的新来者有所帮助。谢谢!!我把我的Java文件夹移到了我的C驱动器上。空间是我的问题。谢谢艾略特被烧伤了。谢谢你,你节省了很多时间和精力。。。!这对我来说很有效,因为在我的例子中,问题是JAVA_HOME值不能包含空格。
set "PATH=%PATH%;%JAVA_HOME%\bin"
set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_261