Hadoop Java环境位置为';不是有效的标识符';

Hadoop Java环境位置为';不是有效的标识符';,hadoop,cygwin,Hadoop,Cygwin,我试图在hadoop-env.sh文件中手动设置JAVA_HOME变量,但根据Cygwin的说法,指向JAVA bin文件的路径是“无效标识符” 我收到以下错误消息,我相信我已正确转义了所有特殊字符 S@W27 /cygdrive/c/hadoop-1.2.1 $ bin/hadoop /cygdrive/c/hadoop-1.2.1/libexec/../conf/hadoop-env.sh: line 9: export: `C:\Program Files (x86)\Java\j

我试图在hadoop-env.sh文件中手动设置JAVA_HOME变量,但根据Cygwin的说法,指向JAVA bin文件的路径是“无效标识符”

我收到以下错误消息,我相信我已正确转义了所有特殊字符

S@W27 /cygdrive/c/hadoop-1.2.1
 $ bin/hadoop
 /cygdrive/c/hadoop-1.2.1/libexec/../conf/hadoop-env.sh: line 9: export: 
 `C:\Program Files (x86)\Java\jre7': not a valid identifier
我尝试了使用前斜杠的相同文件路径,最后还使用了/bin/java,但没有成功


为什么路径无效?

嘿,Simon,路径应该在正斜杠或反斜杠中使用,而不使用qoute,如下所示:-

export JAVA_HOME="C:\Program Files (x86)\Java\jre7"
export JAVA_HOME=/Program Files (x86)/Java/jre7   #(as the root is C drive)
在hadoop安装中,严格提到必须将JAVA路径设置为

export JAVA_HOME="C:\Java\jre8"
不应在程序文件中。

导出JAVA\u HOME=“C:\program files(x86)\JAVA\jre7” 或 导出JAVA\u HOME=C:\Program Files(x86)\JAVA\jre7将正常工作

确保在=和路径之间不留空格
导出JAVA\u HOME=C:\Program Files(x86)\JAVA\jre7(无效)

刚刚开始,欢迎来到WINDOWS中的HADOOP世界。带有正斜杠的示例不正确。任何包含空格的值都需要加引号。在Bourne系列Shell(包括Bash)中,单引号用于逐字字符串,而双引号“较弱”(因此,例如,双引号字符串中的反斜杠应该适当地加倍以表示文字反斜杠)。在回答的第一部分中,您说[export JAVA_HOME=C:\Program Files(x86)\JAVA\jre7将起作用]对不起,这是不正确的。因为程序和文件之间有空格,所以必须在双引号中包含路径。在回答的第二部分中,您说[确保在=和路径export JAVA_HOME=C:\Program Files(x86)\JAVA\jre7(无效)]之间不留空格对不起,这是不正确的,因为您缺少路径中的双引号。=和path之间的空格没有任何区别。你必须在工作的双引号中包含你的路径。嗨,明照。谢谢你的贡献。但是请尽量给出正确的答案,至少要有一些解释。亲切问候。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效-
export JAVA_HOME= ${/usr/local/jdk1.8} 


**warn:** must  {}