在配置 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 版本,方便切换。
该方法适合单用户系统或者普通用户没有修改系统配置文件的情形。
只需在 ~/.bashrc
或 ~/.bash_profile
添加以下命令即可:
# JDK variables test -f /etc/sysconfig/oracle-jdk && . /etc/sysconfig/oracle-jdk ||:
官方维基建议将用户自定环境变量添加到 ~/.bash_profile
,它仅在启动交互式登录 Shell时载入。
如果将环境变量添加到 ~/.bashrc
,则每次打开一个虚拟终端都将载入该配置,因为所有交互式 Shell 都载入 ~/.bashrc
。/etc/sysconfig/oracle-jdk
已做限制,写入 ~/.bashrc
不会造成重复定义环境变量,导致变量嵌套的问题。
使用 alternatives 可以修改系统级默认的 JDK,该方法无需设置环境变量,但需要 root 权限,更适合系统全局修改。
$ 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
参考地址:https://github.com/FZUG/repo/wiki/
本文出自 “wzbao” 博客,请务必保留此出处http://wzbao.blog.51cto.com/11237209/1917360
原文地址:http://wzbao.blog.51cto.com/11237209/1917360