Cygwin 模擬 Unix 環境,路徑含空格會導致變數解析失敗。JAVA_HOME 設定時必須避免空格或使用轉義。
export JAVA_HOME="/cygdrive/c/Program Files/Java/jdk1.7.0_03" # ❌ 含空格
export HADOOP_HOME=/cygdrive/c/Cygwin/home/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
# 將 JDK 安裝至無空格路徑
export JAVA_HOME="/cygdrive/c/jdk/jdk1.7.0_03" # ✅ 無空格
export JAVA_HOME="/cygdrive/c/Program\ Files/Java/jdk1.7.0_03" # ✅ 反斜線轉義
# 或
export JAVA_HOME='/cygdrive/c/Program Files/Java/jdk1.7.0_03' # ✅ 單引號保留字面值
ln -s "/cygdrive/c/Program Files/Java/jdk1.7.0_03" /cygdrive/c/jdk
export JAVA_HOME="/cygdrive/c/jdk" # ✅ 簡短無空格
echo $JAVA_HOME
$JAVA_HOME/bin/java -version
HADOOP_HOME 同樣避免空格PATH 變數拼接時注意分隔符"$VAR" 雙引號包裹變數引用