如何在 MACOS 上将 Java 从 9 降级到 8。 Eclipse 未与 Java 9 一起运行
Posted
技术标签:
【中文标题】如何在 MACOS 上将 Java 从 9 降级到 8。 Eclipse 未与 Java 9 一起运行【英文标题】:How to downgrade Java from 9 to 8 on a MACOS. Eclipse is not running with Java 9 【发布时间】:2018-03-12 19:46:07 【问题描述】:如何在 macOS Sierra 10.12.6(16G29) 上将 Java 从 9 降级到 8。我尝试删除 Java 插件并安装 Java 8,但是 Java 和 javac 版本在终端中显示为 9,但在系统首选项中为 8。
【问题讨论】:
MacOS的版本可能相关;考虑编辑并将其添加到问题中(不作为评论发布)。 你看过wiki.eclipse.org/Configure_Eclipse_for_Java_9吗? 【参考方案1】:您无需降级。您可以在 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 中设置默认值
【讨论】:
非常感谢,这对我有帮助!遗憾的是,MacOS 中的 Java 控制面板没有公开这样的设置。 你能详细说明你的答案吗?/usr/libexec/java_home -v 11
是什么意思?
做export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
和export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_211)
并不能解决我的问题。也已经重新启动了我的终端。
我不断收到“JAVA_HOME:分配的类型不一致”。并且java版本没有改变。任何线索如何解决这个问题?【参考方案2】:
我就是这样做的。您无需删除 Java 9 或更高版本。
第 1 步:安装 Java 8
您可以从这里下载 Java 8:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
第 2 步:安装 Java 8 后。确认安装所有版本。在终端中键入以下命令。
/usr/libexec/java_home -V
第 3 步:编辑 .bash_profile
sudo nano ~/.bash_profile
第 4 步:默认添加 1.8。 (将下面的行添加到 bash_profile 文件中)。
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
现在按 CTRL+X 退出 bash。按“Y”保存更改。
第 5 步:重新加载 bash_profile
source ~/.bash_profile
第 6 步:确认当前的 Java 版本
java -version
【讨论】:
是否可以以同样的方式更改 javaws 版本?因为 java -version 报告它发生了变化,但 javaws 仍然运行最新可用的。【参考方案3】:如果您的 Mac 上安装了多个 Java 版本,这里有一种使用终端切换默认版本的快速方法。在此示例中,我将把 Java 10 切换到 Java 8。
$ 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)
【讨论】:
【参考方案4】:由于它允许安装多个版本的java,我在不知不觉中安装了许多3个版本,但它指向最新版本“11.0.2”
我可以通过以下步骤来解决此问题以移至“1.8”
$java -version
openjdk 版本“11.0.2” 2019-01-15 OpenJDK 运行时环境 18.9(内部版本 11.0.2+9) OpenJDK 64-Bit Server VM 18.9(build 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(内部版本 25.202-b03,混合模式)
【讨论】:
我会避免删除系统上的文件。相反,只需重定向$JAVA_HOME
环境变量。【参考方案5】:
老问题,但只是遇到了这个问题/dumb jira 遇到了 java 10/ 的问题,在这里没有找到简单的答案,所以就离开它吧:
$ /usr/libexec/java_home -V
显示安装的版本及其位置,因此您可以简单地删除 /Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>
。瞧
【讨论】:
【参考方案6】:最简单的解决方案可能是将 Java 8 与 Java 9 并行安装(如果仍然不存在的话),并在 eclipse.ini
中明确指定要使用的 JVM。您可以在 Eclipsepedia 找到此设置的说明,包括如何在 Mac 上找到 eclipse.ini
的说明
【讨论】:
【参考方案7】:如offical Oracle Documentation 中所述,如果您不想删除 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
卸载后,您就可以进行全新安装了。只需 download 你是选择的版本并安装它。
【讨论】:
【参考方案8】:# 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)
【讨论】:
【参考方案9】:您可以删除 Spotlight 或 Finder 中的“JavaAppletPlugin.plugin”,然后重新安装下载的 Java 8。
这将简单地解决您的问题。
【讨论】:
以上是关于如何在 MACOS 上将 Java 从 9 降级到 8。 Eclipse 未与 Java 9 一起运行的主要内容,如果未能解决你的问题,请参考以下文章
如何从MacOS Catalina降级到 MacOS High Sierra,几步轻松搞定