如何在MACOS上将Java从9降级到8。Eclipse未与Java 9一起运行


Answers:


308

您不需要降级。您可以在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中设置默认值


3
非常感谢,这对我有所帮助!令人遗憾的是,MacOS中的Java控制面板没有公开这样的设置。
sesm

你能详细说明你的答案吗?什么/usr/libexec/java_home -v 11意思
Sandeepan Nath

1
这样做export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_211)不能解决我的问题。已经重新启动了我的终端。
HendraWD

143

这就是我的方法。您不需要删除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仍运行最新的可用版本。
lapkritinis

11

如果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位服务器VM 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™SE运行时环境(内部版本1.8.0_202-ea-b03)Java HotSpot™64位服务器VM(内部版本25.202-b03,混合模式)


我会避免删除您系统上的文件。相反,只需重定向$JAVA_HOMEenv变量。
simeg

3

老问题了,只是/ dumb jira遇到了Java 10的问题,在这里没有找到简单的答案,所以就把它留下:

$ /usr/libexec/java_home -V显示安装的版本及其位置,因此您只需删除/Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>。沃伊拉


1

最简单的解决方案可能是与Java 9并行安装Java 8(如果仍然不存在),然后指定要在中显式使用的JVM eclipse.ini。您可以eclipse.iniEclipsepedia上找到此设置的说明,包括如何在Mac上查找的说明。


-2

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

这将简单地解决您的问题。

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.