因此,我在一段时间前安装了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
}

其他回答

这对我来说非常有效:

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

如果你已经在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

我破坏了Java、JDK和oracle。我在OSX El Capitan上运行Java 8

其他的答案是缺少大量的东西。这个答案涵盖了更多的基础。

再见,铁锹。

sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
sudo rm -rf /Library/LaunchDaemons/com.oracle.java.Helper-Tool.plist
sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist
sudo rm -rf /System/Library/Frameworks/JavaVM.framework
sudo rm -rf /var/db/receipts/com.oracle.jdk8u65.bom
sudo rm -rf /var/db/receipts/com.oracle.jdk8u65.plist
sudo rm -rf /var/db/receipts/com.oracle.jre.bom
sudo rm -rf /var/db/receipts/com.oracle.jre.plist
sudo rm -rf /var/root/Library/Preferences/com.oracle.javadeployment.plist
sudo rm -rf ~/Library/Preferences/com.oracle.java.JavaAppletPlugin.plist
sudo rm -rf ~/Library/Preferences/com.oracle.javadeployment.plist
sudo rm -rf ~/.oracle_jre_usage

使用/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
}