从Mac移除Java 8 JDK


247

因此,我前一段时间安装了JDK 8 beta版,以查看一些示例。我现在确定,在版本之间进行更改很容易。

用IntelliJ做一些Play开发。由于某些原因,即使是,IntelliJ仍使用8进行编译:

  • 我在首选项中设置了编译器以使用1.6
  • 假设它通过外部构建使用SBT,但是命令行中的sbt可以工作
  • JAVA_HOME指向JDK 6。

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

当我这样做时which java,它告诉我/usr/bin/java和我这样做/usr/bin/java -version,并且返回1.6。

注意:稍加摆弄,就可以使用IntelliJ和JDK7,请参见此处


1
为什么要使用JDK 6?它已停产,请参见oracle.com/technetwork/java/eol-135779.html。如果您不想使用Beta版(JDK 8),则应转到
JDK7。– kmorris

1
Mac上的JDK7仍然一团糟。遇到了很多问题。但此时我要取7。(不过,如果你不知道,JetBrains公司仍说他们不支持它在Mac ..!)
罗布

3
还可以考虑将jdk安装为自制瓶-(取消)安装/升级是一个简单的brew命令。
Agoston Horvath 2014年

2
好像要使用HomebrewJenv来管理已安装的Java版本一样。看到hanxue-it.blogspot.ch/2014/05/...
阿德里安成为

1
我发现参考homebrew-cask java公式有关如何卸载jdk很有用。jdk9jdk8
布鲁斯·孙

Answers:


658

我能够成功执行以下步骤,在特立独行者中解开jdk 8:

运行此命令仅删除JDK

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk<version>.jdk

如果要删除插件,请运行以下命令

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/PrivilegedHelperTools/com.oracle.java.JavaUpdateHelper
sudo rm -rf /Library/LaunchDaemons/com.oracle.java.Helper-Tool.plist
sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist

2
唯一的问题是,现在它不允许我安装jdk7。我运行安装程序,但命令行仍然显示“不存在Java运行时,正在请求安装”……尽管它在说谎,因为它不请求安装。
geoidesic

4
这确实很糟糕,因为您还要删除“系统偏好设置”中的“偏好设置”面板。只需运行第一个命令,其他命令就排除在外。
水彩画

1
此外,在此步骤之后,如果已经安装,则MAC自动将替代Java用作默认值。
Ashokchakravarthi Nagarajan 2015年

6
需要明确的是,这是卸载所有Java东西。如果出于某种原因想要保留其他版本的Java,请不要删除JDK本身(第一个命令)。
mikl

1
您使我免于头疼
..

85

您只需要使用这些命令

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

2
这个为我在OSX El Capitan上工作了,谢谢:)
PirateApp

10
通过这种方式,您将删除所有Java jdk,而不仅仅是8。
安德列斯(Andres)

这样操作后如何重新安装?
鲁斯兰·列申科

14

在Mac OSX上管理Java版本是一场噩梦。我最近改用了JDK 1.7,从我的MacBook上完全删除了JDK 6(我也有JDK 5的痕迹-这台笔记本电脑已经更新了几次)。

这是我转移到JDK 7的步骤。

1)从Oracle(http://www.oracle.com/technetwork/java/javase/downloads/index.html)下载最新版本并进行安装。

2)删除(使用rm-如果您有备份,则可以在出错时恢复)所有JDK6和JRE6文件。

在此阶段,您应该看到:

% ls /Library/Java/JavaVirtualMachines/
jdk1.7.0_nn.jdk

(别无其他)

3)在文件夹/ Library / Java / Extensions /中,您需要删除所有旧的jar文件,这些文件与其他Java版本相对应。如果不这样做,您会得到有关错误的tools.jar版本的臭名昭著的消息(请参阅升级到Java7后构建失败,缺少Tools.jar和错误的类版本)。重命名jar文件是不够的,因为Java将打开该文件夹中的每个jar-我将我的文件夹移到了子目录中。一旦您知道所有其他方法都可以使用,便可以安全删除它们。

我还没有发现需要为简单的事情设置JAVA_HOME。

注意:我只是尝试运行IntelliJ,除非安装了Apple的JDK 6,否则它将无法启动(请参阅 http://youtrack.jetbrains.com/issue/IDEA-93710)。Eclipse也是如此。Netbeans工作正常。


1
编辑原始问题,以包含指向另一个有关使IntelliJ使用JDK7(在Mac上)的SO问题的链接。
罗布

3
在Mac上管理Java版本是绝对的噩梦。我能够在5分钟内在Ubuntu上安装Oracle Java 8并管理不同的Java版本。我现在花了几个小时来尝试使Oracle Java 8启动并在OSX上运行。
JohnMerlino 2014年

11

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

我认为这仅适用于您的Shell环境,而不是您双击应用程序图标(如Intellij)所获得的环境。
NBW

@NBW AFAIK OSX上的Java应用程序在其Info.plist文件中设置了自己的Java版本(或类似的名称,例如,它们支持的版本范围等)。对JAVA_HOME的更改仅适用于当前的终端会话,但是我认为/ usr / libexec / java_home可能会影响其他会话/环境。(我不能轻易地验证它,因为我力java_use 1.7在我的〜/ .profile文件)
了Grégory约瑟夫

而且,如果您还想查看JDK是32位还是64位,则alias java_ls='/usr/libexec/java_home -V 2>&1 | sed "/^ \(.*\) \(.*\),/!d;/^\s*$/d;s/^ \(.*\) \(.*\), \(.*\):\(.*\)$/\2 (\3)/g"'可以执行以下操作。
Moreaki

10

我对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 /usr/bin/java
sudo rm -rf /usr/bin/javac
sudo rm -rf /usr/bin/javadoc
sudo rm -rf /usr/bin/javah
sudo rm -rf /usr/bin/javap
sudo rm -rf /usr/bin/javaws
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

2
没有删除此文件“ /System/Library/Frameworks/JavaVM.framework”的权限
-Nazariy

2
@Nazariy其中一些可能不需要,sudo但我还是使用了它。长话短说:不要再安装Java。
谢谢您

1
@Nazariy系统完整性保护
Cameron Lowell Palmer

1
AFAIK是Apple默认安装的JDK。您不需要删除它。
库山·卡普兰

1
请检查您的文件列表。/ usr / bin中的文件是基本系统的一部分。参见docs.oracle.com/javase/8/docs/technotes/guides/install/…–
Andres


4

如果您已经在Mac上安装了jdk8,但是现在要删除它,则只需在命令“ sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk”下运行


删除jdk文件夹后,Java的条目仍会显示在Launchpad-> System Preferences
Drew

这也对我有用。...谢谢,帮助修复了Android Studio中的Fixing Unsupported major.minor版本52.0错误。
Pradeep Chakravarti Gudipati 2016年

根据我的理解,@ Drews中的Java与JDK无关(例如,首选项是在您的计算机上加载网页的页面,JDK是关于使用Java编译其他程序的),因此优先使用它其实不是问题
DaveRGP

3

如果卸载所有文件,但仍然失败,请使用以下行:

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

2
这不会添加任何内容。接受的答案已经说明了这一点以及更多内容
克里斯·穆克吉

3

要在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

1

有两种方法可以做到这一点:

  1. 直接从用户->库-> Java-> VirtualMachines->中删除JDK,然后直接删除jdk文件夹以卸载Java。

  2. 通过执行以下命令:(卸载java 1.8版本)

在编写命令之前,请使用以下命令确保您位于主目录中:

cd ~/

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.jdk
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/Application\ Support/Oracle/Java

1

在Mac中使用这3个命令删除Java版本

Java版本

sudo rm -rf /库/ Java / *

sudo rm -rf /库/ PreferencePanes / Java *

sudo rm -rf /库/ Internet \插件/ Java *

Java版本

//查看java是否已成功卸载。

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

运行java -version

安装Java 8链接

在此处输入图片说明

下载软件包,然后单击“下一步”,“下一步”,“下一步”


安装了JDK 102 MB .PKG
Keshav Gera,

-12

这对我来说非常合适:

sudo rm -rf /Library/Java/JavaVirtualMachines
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.