Skip to content
This repository has been archived by the owner on Sep 22, 2024. It is now read-only.

安装 Oracle JDK

Alick Zhao edited this page Jan 22, 2016 · 11 revisions

学习 Android, Java 开发的同学,肯定都配置过 Oracle JDK 开发环境。许多网上的教程,都建议在 /etc/profile 添加环境变量。但 Fedora 下虚拟终端 gnome-terminal 默认不是登陆 Shell(可在配置中修改),不读取该配置文件,导致系统无法找到 JDK。

现在,社区源添加了 oracle-jdk 安装包,所需配置大大简化。

$ sudo dnf install oracle-jdk8 oracle-jdk7

该包在安装时,从 Oracle 官网下载 JDK。

安装后,有两种方法进行配置。

配置环境变量

/etc/sysconfig/oracle-jdk 是 JDK 环境变量配置文件,可以添加多个 JDK 版本,方便切换。
该环境变量优先于使用 alternatives 配置的 OpenJDK。

只需在 ~/.bashrc~/.bash_profile 添加以下命令即可:

# JDK variables
test -f /etc/sysconfig/oracle-jdk && . /etc/sysconfig/oracle-jdk ||:

官方 Wiki 建议将用户自定环境变量添加到 ~/.bash_profile,它仅在启动交互式登陆 Shell(登陆系统)时载入。
如果将环境变量添加到 ~/.bashrc,则每次打开一个虚拟终端都将载入该配置,因为所有交互式 Shell 都载入 ~/.bashrc
/etc/sysconfig/oracle-jdk 已做限制,写入 ~/.bashrc 不会造成重复定义环境变量,导致变量嵌套的问题。

alternatives 切换 JDK

使用 alternatives 可以更优雅的切换 JDK,而无需设置环境变量。

$ sudo alternatives --config javac  # 切换 jdk
*  1  /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-15.b17.fc23.x86_64/bin/javac
 + 2  /usr/lib/jvm/jdk1.8.0_66/bin/javac
   3  /usr/lib/jvm/jdk1.7.0_80/bin/javac
$ sudo alternatives --config java   # 切换 jre
*  1  /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-15.b17.fc23.x86_64/jre/bin/java
 + 2  /usr/lib/jvm/jdk1.8.0_66/jre/bin/java
   3  /usr/lib/jvm/jdk1.7.0_80/jre/bin/java