如何在 MACOS 上将 Java 从9降级到8。 Eclipse 没有在 Java9上运行

如何在 macOS Sierra 10.12.6(16G29)上将 Java 从9降级到8。我尝试移除 Java 插件并安装了 Java8,然而 Java 和 javac 版本在终端中显示为9,但在系统首选项中显示为8。

149909 次浏览

最简单的解决方案可能是将 Java8与 Java9并行安装(如果不是仍然存在的话) ,并指定在 eclipse.ini中显式使用的 JVM。您可以找到这个设置的描述,包括如何在 Mac 上的 Eclipse 百科全书上找到 eclipse.ini的描述

你不需要降级。您可以在 MacOS 上运行多个版本的 Java。您可以在 MacOS 中使用此命令设置终端的版本。

# List Java versions installed
/usr/libexec/java_home -V


# Java 11
export JAVA_HOME=$(/usr/libexec/java_home -v 11)


# Java 1.8
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)


# Java 1.7
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)


# Java 1.6
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)

可以在. bashrc、 . profile 或. zprofile 中设置默认值

我是这样做的,你不需要删除 Java9或更新的版本。

步骤1: 安装 Java8

您可以从这里下载 Java8: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

步骤2: 安装完 Java8后。确认所有版本的安装。在终端中键入以下命令。

/usr/libexec/java_home -V

步骤3: Edit. bash _ profile

sudo nano ~/.bash_profile

步骤4: Add 1.8 as default。

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

现在按 CTRL + X 退出 bash。按“ Y”保存更改。

步骤5: 重新加载 bash _ profile

source ~/.bash_profile

步骤6: 确认 Java 的当前版本

java -version

这是个老问题了/jira 对 java 10有点问题/没有找到一个简单的答案,所以就这样吧:

$ /usr/libexec/java_home -V显示了安装的版本和它们的位置,所以你可以简单地删除 /Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>

如果您的 Mac 上安装了多个 Java 版本,这里有一个使用 Terminal 切换默认版本的快速方法。在这个例子中,我将把 Java10切换到 Java8。

$ 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)


$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
10.0.1, x86_64: "Java SE 10.0.1"    /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
1.8.0_171, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home


/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home

然后,在. bash _ profile 中添加以下内容。

# Java 8
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

现在如果您再次尝试 java-version,您应该会看到所需的版本。

$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

您可以删除 Spotlight 或 Finder 中的“ JavaAppletPlugin.plugin”,然后重新安装下载的 Java8。

这只会简单地解决你的问题。

由于它允许安装多个版本的 Java,我在不知情的情况下安装了多个版本,但它指向最新版本“11.0.2”

我可以用下面的步骤来解决这个问题

$java -version

Openjdk 版本“11.0.2”2019-01-15 OpenJDK 执行期函式库18.9(build 11.0.2 + 9) OpenJDK 64-BitServerVM 18.9(构建11.0.2 + 9,混合模式)

cd /Library/Java/JavaVirtualMachines
ls

Jdk1.8.0 _ 201. jdk jdk1.8.0 _ 202. jdk openjdk-11.0.2. jdk

sudo rm -rf openjdk-11.0.2.jdk
sudo rm -rf jdk1.8.0_201.jdk
ls

Jdk1.8.0 _ 202. jdk

java -version

Java 版本“1.8.0 _ 202-ea” Java (TM) SE 执行期函式库(build 1.8.0 _ 202-ea-b03) Java HotSpot (TM)64位服务器 VM (build 25.202-b03,混合模式)

正如在 官方 Oracle 文档中提到的,如果不想删除 Java 安装,有两个相关路径需要删除。

路径1是 JRE 安装路径: /Library/Internet Plug-Ins/
路径2是 JDK 安装路径: /Library/Java/JavaVirtualMachines

JRE 步骤:
通过终端将目录更改为路径1。

cd /Library/Internet Plug-Ins/

删除 JavaAppletPlugin.plugin

sudo rm -rf JavaAppletPlugin.plugin

JDK 步骤:
执行 JRE 步骤下的步骤
通过终端将目录更改为路径2。

/Library/Java/JavaVirtualMachines

查看此文件夹中的所有安装
ls


删除此文件夹中的所有安装。

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-(...).jdk

卸载后,你准备去一个新的安装。只是 下载版本的选择和安装。

只供 MAC 用户使用

JRE 和 JDK 版本的更改

路径1是 JRE 安装路径:/Library/Internet Plug-Ins/ 路径2是 JDK 安装路径:/Library/Java/JavaVirtualMachines

JRE 步骤: 通过终端将目录更改为路径1。

Cd/Library/Internet Plug-Ins/ 删除 JavaAppletPlugin.plugin

Sudo rm-rf JavaAppletPlugin.plugin JDK 步骤: 执行 JRE 步骤下的步骤 通过终端将目录更改为路径2。

步骤1

/Library/Java/JavaVirtualMachines

查看此文件夹中的所有安装

第二步

Ls //列出文件夹中的所有文件

删除此文件夹中的所有安装。

步骤3

Sudo rm-rf/Library/Java/JavaVirtualMachines/yourjdkName.jdk

卸载之后,您就可以进行全新的安装了。只需下载您选择的版本并安装即可。

最好的解决办法