在Mac OS上切换Java版本

时间:2018-10-02 15:24:53

标签: java macos

我正在尝试使用以下内容切换Java版本

export JAVA_HOME='/usr/libexec/java_home -v 1.8.0_172'

但是当我运行java -version时,我得到了以下内容

java version "10.0.1" 2018-04-17 Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10) Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

我想在MAC中切换到1.8.0_172版本怎么办?

4 个答案:

答案 0 :(得分:2)

假设您已经安装了jdk1.8.0.172,一种选择是:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home

答案 1 :(得分:1)

我认为对我来说最简单的方法是使用jenv

与rvm或nvm相似,可以轻松地在Java版本之间切换。

步骤:

cascade

重击

<xe:jsonRpcService id="jsonRpcServiceSelected" serviceName="rpcService" rendered="true"> <xe:this.methods> <xe:remoteMethod name="setAccordion" script="viewScope.put('accordion', selected);"> <xe:this.arguments> <xe:remoteMethodArg name="selected" type="string" /> </xe:this.arguments> </xe:remoteMethod> </xe:this.methods> </xe:jsonRpcService> <xp:button id="btnTriggerRPC" value="Trigger RPC Method"> <xp:eventHandler event="onclick" submit="true" refreshMode="complete"> <xp:this.script><![CDATA[if ($('#collapseOne').attr('aria-expanded') == "false") { rpcService.setAccordion('collapsed'); }else{ rpcService.setAccordion('expanded'); }]]></xp:this.script> </xp:eventHandler> </xp:button>

brew install jenv

Zsh

echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile

echo 'eval "$(jenv init -)"' >> ~/.bash_profile

在终端中运行echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc (这是一种预防措施,以防您的输出中断了文本解析。对于我而言,确实有所作为)

echo 'eval "$(jenv init -)"' >> ~/.zshrc

jdk1.8.0_231.jdk ->使用计算机上的任何版本。

然后使用unset JAVA_TOOL_OPTIONS确认它已被更改。

答案 2 :(得分:1)

对于 Mac OS Catalina,以上对我有用(删除引号),但是我还必须设置如下路径变量:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/{java version.jdk}/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

其中 {java_version.jdk} 是运行后列出的任何 Java 版本

/usr/libexec/java_home -V 

答案 3 :(得分:0)

/usr/libexec/java_home -V

以上命令将为您提供系统中安装的所有Java版本。

export JAVA_HOME=`/usr/libexec/java_home -v <VERSION YOU WANT TO USE FROM ABOVE LIST`>