因此,我在一段时间前安装了JDK 8的测试版,以查看一些示例。我想,到目前为止,在不同版本之间进行更改是很容易的。

用IntelliJ开发游戏。由于某些原因,IntelliJ正在使用8编译,即使:

我在首选项中将编译器设置为使用1.6 据说它通过外部构建使用SBT,但从命令行使用SBT是有效的 JAVA_HOME指向JDK 6。

如果我转到Java首选项页面,它确实显示安装了8个,但没有卸载它的选项,也看不到任何其他版本。

当我执行哪个java时,它会告诉我/usr/bin/java然后执行/usr/bin/java -version,它会返回1.6。

注意:只需稍作调整,就可以使用IntelliJ和JDK7,见这里。


当前回答

使用/usr/libexec/java_home;我发现这些别名和函数在我的~/.profile中非常有用:

alias java_ls='/usr/libexec/java_home -V 2>&1 | cut -s -d , -f 1 | cut -c 5-'
function java_use() {
    export JAVA_HOME=$(/usr/libexec/java_home -v $1)
    java -version
}

其他回答

如果你已经在Mac上安装了jdk8,但现在你想删除它,只需运行以下命令"sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk"

要在mac上卸载任何版本的java,只需执行:

sudo rm -fr /Library/Java/JavaVirtualMachines/jdk-YOUR_ACCURATE_VERSION.jdk/ 
sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin 
sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane

使用/usr/libexec/java_home;我发现这些别名和函数在我的~/.profile中非常有用:

alias java_ls='/usr/libexec/java_home -V 2>&1 | cut -s -d , -f 1 | cut -c 5-'
function java_use() {
    export JAVA_HOME=$(/usr/libexec/java_home -v $1)
    java -version
}

如果你卸载了所有的文件,但仍然失败,使用这一行:

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk

您只需要使用这些命令

sudo rm -rf /Library/Java/*
sudo rm -rf /Library/PreferencePanes/Java*
sudo rm -rf /Library/Internet\ Plug-Ins/Java*