echo $JAVA_HOME 尽管已在 zshrc 中正确设置,但在 MacOS catalina 中返回空白
Posted
技术标签:
【中文标题】echo $JAVA_HOME 尽管已在 zshrc 中正确设置,但在 MacOS catalina 中返回空白【英文标题】:echo $JAVA_HOME returns blank in MacOS catalina despite having set it properly in zshrc 【发布时间】:2020-09-16 16:20:19 【问题描述】:我使用最新的 MacOS catalina(10.15.4) 并在我的个人资料中使用.zshrc
作为最新版本的mac deprecated the bash shell,这是my previous unanswered question on not able to change the default java version to 1.8 using jenv 的后续问题。
当我尝试调试更多时,发现我的 echo $JAVA_HOME 总是返回空白,尽管已按以下方式设置它。
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
还有
export JAVA_HOME=/Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home
请注意,我在更改后获取了我的 .zshrc
文件,但仍然没有运气,尽管当我在终端上设置时它会打印正确的值,但它只在那个控制台上(如预期的那样)。
添加我的 ~/.zshrc 的内容
export JAVA_HOME=/Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home
#export JAVA11_HOME=/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
#export JAVA14_HOME=$(/usr/libexec/java_home -v14)
#export RUNTIME_JAVA_HOME=$(/usr/libexec/java_home -v11)
export PATH=$JAVA_HOME/bin:$PATH
#export PATH="/Users/java-dev/Library/Python/3.7/bin/:$PATH"
export PATH=/usr/local/bin:$PATH
export PATH=/usr/bin:$PATH
alias sr='source ~/.zshrc'
alias rt='cd /Users/java-dev/rt'
alias dev='cd /Users/java-dev/development'
alias code='cd /Users/java-dev/code'
【问题讨论】:
你确定你没有使用 bash,尽管已弃用?请查看echo $0
所说的内容。
@FedericoklezCulloca 请参阅echo $0 -zsh
你运行source ~/.zshrc
了吗?需要对 zshrc 文件应用新的更改。
@anquangman 是的,我非常清楚这一点,并且一直这样做,感谢您确认这一点:)
【参考方案1】:
在最新的 catalina OS 中更改了文件名。您需要创建一个名为 .zprofile 的文件(与您创建 .bash_profile 文件的位置相同。这需要完成,因为 .bash_profile 现在是 .zprofile)并将您的导出命令放在那里。
如果它已经存在,请将您的导出命令附加到如下文件中。
导出 PATH=$your_path$:$PATH
导出 JAVA_HOME=$your_path$
导出 M2_HOME=$your_path$
检查这个macOS Catalina 10.15(beta) - Why is ~/.bash_profile not sourced by my shell?
【讨论】:
我的主目录中也没有.bash_profile
,正如我在我的问题中提到的那样,我已经在使用.zshrc
,并且别名等其他东西工作正常,而且我在终端上尝试了你的命令并且在export JAVA_HOME=$your_path$
之后,如果我执行echo $JAVA_HOME
,它只会打印$
,你能试试这些命令吗
如果它不存在,您能否在 /Users/(yourHomeDIr)/ 下创建一个名称为 .zprofile 的文件并设置您的 java_home,如下所示 export JAVA_HOME=/Library/Java/JavaVirtualMachines/amazon-corretto- 8.jdk/Contents/Home(在文件中)
我遇到了类似的问题,在我的主目录中创建了一个文件名 .zprofile 后,它就得到了解决。现在 java home 和 maven home 在任何新终端中都能正确回显
不行,能否提供一下你的.zprofile的内容?
我在 com 中的用户名是 vijay。文件放在 /Users/vijay/.zprofile 下,内容是 export PATH=/Applications/apache-maven-3.6.3/bin/:$PATH export JAVA_HOME=/Library/Java/mypath。您是否尝试在新终端中发布此文件创建?以上是关于echo $JAVA_HOME 尽管已在 zshrc 中正确设置,但在 MacOS catalina 中返回空白的主要内容,如果未能解决你的问题,请参考以下文章