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

Lea*_*New 84 java eclipse

如何在macOS Sierra 10.12.6(16G29)上将Java从9降级到8.我尝试删除Java插件并安装了Java 8,但Java和javac版本在终端显示9,但在系统首选项中它是8.提前感谢!

mde*_*man 263

你不需要降级.您可以在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)
Run Code Online (Sandbox Code Playgroud)

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

  • 你改变了我的生活. (7认同)
  • 非常感谢,这对我有所帮助!可惜MacOS中的Java控制面板没有公开这样的设置。 (3认同)
  • 您让我的生活轻松了10倍 (3认同)
  • 我不敢相信这还不为人所知!节省大量时间。谢谢! (2认同)
  • 您能详细说明一下您的答案吗?`/usr/libexec/java_home -v 11` 是什么意思? (2认同)
  • 执行 `export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)` 和 `export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_211)` 并不能解决我的问题。我的终端也已经重新启动了。 (2认同)

VK3*_*321 112

这就是我做到的.您不需要删除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
Run Code Online (Sandbox Code Playgroud)

第3步:编辑.bash_profile

sudo nano ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

第4步:默认添加1.8.(将以下行添加到bash_profile文件中).

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
Run Code Online (Sandbox Code Playgroud)

现在按CTRL + X退出bash.按"Y"保存更改.

第5步:重新加载bash_profile

source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

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

java -version
Run Code Online (Sandbox Code Playgroud)


Dor*_*dup 8

如果您的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
Run Code Online (Sandbox Code Playgroud)

然后,在.bash_profile中添加以下内容.

# Java 8
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

现在,如果再次尝试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)
Run Code Online (Sandbox Code Playgroud)


kes*_*hav 7

由于它允许安装多个版本的java,我在不知不觉中安装了许多3个版本,但它指向最新版本“11.0.2”

我可以通过以下步骤解决此问题以移动到“1.8”

$java -version
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

jdk1.8.0_202.jdk

java -version
Run Code Online (Sandbox Code Playgroud)

java 版本“1.8.0_202-ea” Java(TM) SE 运行时环境(内部版本 1.8.0_202-ea-b03) Java HotSpot(TM) 64 位服务器 VM(内部版本 25.202-b03,混合模式)


Dan*_*Dan 5

老问题,但只是遇到了这个问题 /dumb jira 有 java 10 的问题 / 并且在这里没有找到简单的答案,所以就离开它:

$ /usr/libexec/java_home -V显示已安装的版本及其位置,以便您可以简单地删除/Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>. 瞧


Lot*_*har 1

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