如何删除Java 10?还是恢复到以前的版本?


26

我的Mac上的Java更新程序安装了一个晦涩的Java 10.0.1版本,我从未听说过。结果是我的所有Java应用程序都不再运行,这使Java毫无意义。

删除Java官方说明是:

  • sudo rm -fr /库/ Internet \插件/JavaAppletPlugin.plugin

这是没有用的,因为我没有在浏览器上使用Java(谁疯狂地做到了?)

  • 须藤rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane

这是没有用的,因为它只是删除了首选项窗格

  • sudo rm -fr〜/库/应用程序\支持/ Java

这没用,因为此目录已经为空

在Mac上删除Java的官方说明绝对没有任何作用。

如果我从终端使用java -jar运行Java应用程序,则它们将起作用。在终端上,我看到了:

/usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    1.8.0_131, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
    1.6.0_65-b14-468, x86_64:   "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

因此,从终端开始,Java版本是1.8.0_131,这是我想要的版本。在桌面上,当我使用JavaAppLauncher启动应用程序时,Java版本为10.0.1。

如何恢复Oracle使用其自动更新程序造成的灾难?

Answers:


4

我遇到了同样的问题:我安装了Java 8,但后来又安装了10。然后,我删除了10,然后从终端启动jar时它将在版本8中运行,而当我java -version在终端中检查版本时,会回来的java version "1.8.0_181。但是,当我从Finder运行.jar时,它将在v.10中运行,而且如果我转到Java首选项窗格,该版本将列为版本10。这是不可取的:我试图完全删除v10。

然后,我用删除了JavaAppletPlugin rm /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin并从网上重新安装了Java SE JDK 8,瞧!现在有效。当我运行.jar时,它们在Java 8中运行。

我知道您在第一步中提到了这一点,但我推断您没有执行此步骤?如果我错了,那您就会遇到另一个问题。但这解决了我的问题。


是的,我没有尝试删除小程序插件,因为无论如何我在浏览器中将其禁用了
Magnetic_dud

完全有意义。但是,根据我的经验,似乎JavaAppletPlugin的存在正在影响使用哪种Java版本从Finder运行.jar应用程序。对我来说,我删除了JVM v10,但是只有当我删除JavaAppletPlugin时,finder才停止使用v10运行.jar应用程序。
postylem

45

我相信问题正在导航到正确的目录...一旦到达您应该位于的位置,您就可以运行sudo命令来删除要删除的Java版本。

首先,在终端中运行命令以确定正在运行的Java版本,

java -version

那么您可以使用以下命令导航到要删除的讨厌版本的Java:

cd /Library/Java/JavaVirtualMachines

然后,当您看到JavaVirtualMachines路径时,请键入ls以查看已安装的Java版本,

ls

最后,当您知道要卸载的Java版本时:

sudo rm -rf jdk-10.0.1.jdk #or whichever version you want to delete

问题是控制面板显示的版本与终端中的Java版本不匹配。如果我想删除Java 8.171,看起来也没有办法:imgur.com/a/iIK67bD
Magnetic_dud

而且该文件夹中不存在jdk 10.0.1
Magnetic_dud

@Magnetic_dud你还是应该使用使用ls命令,然后删除并重新安装一个新的工作JDK或任何Java版本要安装..你的文件目录结构能够调试
科林·伊尔根

9

如果您有多个版本的jdk:

$ ls -l /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel  96 30 avr 15:15 jdk-10.0.1.jdk
drwxr-xr-x  3 root  wheel  96 30 avr 15:24 jdk1.8.0_172.jdk
drwxr-xr-x  3 root  wheel  96 17 oct 10:59 jdk1.8.0_191.jdk

更改您的JAVA_HOME

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

-1

我从java.com下载了旧版本(工作中)

实际上,Java 8.171是默认显示的下载。我不知道为什么它在beta版本时会自动更新到10.0.1。

现在,它不会安装,它说:“抱歉,您拥有更新更好的Java 10.0.1”

对于安装,请运行问题中提到的似乎无用的命令。Java仍将在终端中运行,但是安装程序将允许您安装正确的版本1.8_171

现在,如果您不想再次中断应用程序,请禁用更新。Java是一种安全威胁,应每月更新一次,因此请确保已在浏览器中将其禁用。

由于某种原因,如果您运行java -version,您仍然会得到:

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

这是另一个错误的版本。无论如何,重要的是现在您的Java应用程序正在运行,请确保已禁用浏览器插件以确保安全。

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.