如何在macOS Sierra 10.12.6(16G29)上将Java从9降级到8。我尝试删除Java插件并安装了Java 8,但是Java和javac版本的终端显示9,但在系统偏好设置中为8。
如何在macOS Sierra 10.12.6(16G29)上将Java从9降级到8。我尝试删除Java插件并安装了Java 8,但是Java和javac版本的终端显示9,但在系统偏好设置中为8。
Answers:
您不需要降级。您可以在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中设置默认值
/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 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
如果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)
因为它允许安装多个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_HOME
env变量。
最简单的解决方案可能是与Java 9并行安装Java 8(如果仍然不存在),然后指定要在中显式使用的JVM eclipse.ini
。您可以eclipse.ini
在Eclipsepedia上找到此设置的说明,包括如何在Mac上查找的说明。