SET JAVA_HOME 反映 jenv java 版本
Posted
技术标签:
【中文标题】SET JAVA_HOME 反映 jenv java 版本【英文标题】:SET JAVA_HOME to reflect jenv java version 【发布时间】:2015-04-21 08:18:50 【问题描述】:我刚开始使用jenv
,我关注了一篇解释如何在MacOSX 上使用jenv
和设置多个java 版本的博文。但是我现在遇到的问题是设置 JAVA_HOME。当我使用jenv
切换java 环境时,我想确保我的bash_profile 上的JAVA_HOME
也相应地发生变化。
我该怎么做?
我的~/.bash_profile
有关注
if which jenv > /dev/null; then eval "$(jenv init -)"; fi
【问题讨论】:
JAVA_HOME 已经设置了吗?如果您在终端中输入“jenv doctor”,您的输出是什么? 【参考方案1】:试试“导出”插件:
jenv enable-plugin export
您可以在 jEnv Github 存储库 (https://github.com/gcuisinier/jenv) 中查看 Readme.md 中的导出插件部分
【讨论】:
为什么默认不包含?【参考方案2】:对我来说,启用像 kimbaudi 这样的 export
插件不起作用。将以下代码添加到.bash_profile
(或.bashrc
、.zprofile
或.zshrc
,具体取决于您使用的shell)为我完成了这项工作:
if which jenv > /dev/null; then eval "$(jenv init -)"; fi
这是在troubleshooting page 中,但他们似乎声明它在说明指南中,但事实并非如此。
【讨论】:
谢谢。也许将 PR 发送到 repo?这确实很关键。【参考方案3】:您可以在~/.bash_profile
文件中添加这些别名,并在不同的 JAVA 版本之间轻松切换。
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME’
要检查系统中可用的 java 版本,请使用
jenv versions
jenv version
您甚至可以在私人终端中使用以下命令为单个项目设置特定版本。
jenv local 11.0
# 秒选项:-
从file -> project structure -> project sdk
下载您选择的jdk
然后在你的 .zshrc 中添加以下函数,根据需要在不同版本之间切换。
[附上截图供参考:]:-
在不同的 JDK 版本之间切换
在 ~/.bashrc 或 ~/.zshrc 中添加以下函数
jdk()
version=$1
export JAVA_HOME=$(/usr/libexec/java_home -v"$version");
java -version
获取配置文件,您可以更改版本,如下所示:
jdk 1.8 JDK 9 JDK 11 JDK 13
【讨论】:
以上是关于SET JAVA_HOME 反映 jenv java 版本的主要内容,如果未能解决你的问题,请参考以下文章