-bash:导出:""JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Content/Home"':不是有效的标识符



我正在尝试在我的Mac机器上设置Java和Hadoop,在此过程中,我正在使用以下命令:

$ echo export “JAVA_HOME=$(/usr/libexec/java_home)” >> ~/.bash_profile
$ source ~/.bash_profile

但是,当我输入 source ~/.bash_profile 时,它给了我这个错误:

-bash: export: `“JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home”': not a valid identifier

为什么这么说呢?

这更准确地看起来像:

echo 'export JAVA_HOME="$(/usr/libexec/java_home)"' >> ~/.bash_profile

注意:

  • 使用标准 ASCII 引号,而不是卷曲的"智能引号"。
  • 单引号用于确保在运行echo之前不计算命令替换,而是将其添加到.bash_profile中。

我的问题

我使用的是MAC操作系统,并且遇到了类似的错误,我得到了以下错误。

java -version
# -bash: /Library/Java/JavaVirtualMachines/jdk-18.0.1.1.jdk/Contents/Home/bin/java: Bad CPU type in executable

为了我的~/.bash_profile

我将 bash 配置文件的末尾设置为:

# set JAVA_HOME
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-18.0.1.1.jdk/Contents/Home"
PATH="${JAVA_HOME}/bin:${PATH}"
export PATH
# set M2_HOME
export M2_HOME=""
PATH="${M2_HOME}/bin:${PATH}"
export PATH

修复

我也只需要更新它:

# set JAVA_HOME
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-18.0.1.1.jdk"
PATH="${JAVA_HOME}/bin:${PATH}"
export PATH
# set M2_HOME
export M2_HOME=""
PATH="${M2_HOME}/bin:${PATH}"
export PATH

我只需要从JAVA_HOME变量中删除/Contents/Home

现在,当我运行java -version时,我得到:

# openjdk version "18.0.2" 2022-07-19
# OpenJDK Runtime Environment (build 18.0.2+9-61)
# OpenJDK 64-Bit Server VM (build 18.0.2+9-61, mixed mode, sharing)

这影响了我在 IDE 中使用终端构建的尝试IntelliJ IDEA. 我试图运行我的 jar 文件,最初是一个欺骗性错误。

相关内容

最新更新