英文:
echo $JAVA_HOME returns blank in MacOS catalina despite having set it properly in zshrc
问题
我正在使用最新的MacOS Catalina(10.15.4),并且在我的配置文件中使用.zshrc
作为最新版本的Mac已弃用bash shell。这是我之前关于无法使用jenv将默认的Java版本更改为1.8的问题的后续问题。
在我尝试进行更多调试时,发现我的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'
英文:
I a using the latest MacOS catalina(10.15.4) and using .zshrc
for my profile as latest version of mac deprecated the bash shell, This is the follow-up question of my previous unanswered question on not able to change the default java version to 1.8 using jenv.
When I was trying to debug more found my echo $JAVA_HOME always returns blank, despite having set it in following manner.
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
And
export JAVA_HOME=/Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home
Note i've sourced my .zshrc
file after the change but still no luck, although when I set on the terminal then it print the proper value but its only on that console(as expected).
Adding the content of my ~/.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'
答案1
得分: 1
文件名在最新的Catalina操作系统中已更改。您需要创建一个名为**.zprofile**的文件(与您创建.bash_profile
文件的位置相同)。这需要这样做是因为.bash_profile
现在变成了.zprofile
,然后将您的导出命令放在那里。
如果它已经存在,请像下面这样在文件中追加您的导出命令。
export PATH=$your_path$:$PATH
export JAVA_HOME=$your_path$
export M2_HOME=$your_path$
英文:
The file name is changed in latest catalina OS . you need to create a file named .zprofile (same place where you have created .bash_profile file. This needs to be done because .bash_profile is now .zprofile) and place your export command over there.
If it already exists, please append your export command in the file like below.
export PATH=$your_path$:$PATH
export JAVA_HOME=$your_path$
export M2_HOME=$your_path$
check this <https://stackoverflow.com/questions/56784894/macos-catalina-10-15beta-why-is-bash-profile-not-sourced-by-my-shell>
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论