如何在Ubuntu 16.04上手动安装Java 8。适用于其他版本的Ubuntu,包括14.04、16.10和18.04。
先决条件
一个文本编辑器,无论是vi,vim,emacs,等。
步骤1:下载最新的JDK
建议您仅安装最新的JDK。
# wget http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-i586.tar.gz
下载JDK文件如:jdk-8u151-linux-i586.tar.gz(32系统)
jdk-8u151-linux-X64.tar.gz(64位系统)
步骤2:将JDK提取到Java的默认位置
创建一个jvm文件夹,/usr/lib/其中是Java的默认位置。
# sudo mkdir /usr/lib/jvm
转到创建的/usr/lib/jvm文件夹。
# cd /usr/lib/jvm
解压缩下载的JDK。
# sudo tar -xvzf ~/Downloads/jdk-8u151-linux-x64.tar.gz
步骤3:设定环境变数
编辑environment文件。
# vi /etc/environment
PATH通过添加以下bin文件夹(用冒号分隔)来更新现有变量:。
/usr/lib/jvm/jdk1.8.0_151/bin:/usr/lib/jvm/jdk1.8.0_151/db/bin:/usr/lib/jvm/jdk1.8.0_151/jre/bin
HOME根据版本和更新,目录路径可以不同,此处的版本为1.8,更新为151。在环境文件末尾添加以下变量,以更改您的特定版本并更新。
J2SDKDIR="/usr/lib/jvm/jdk1.8.0_151"
J2REDIR="/usr/lib/jvm/jdk1.8.0_151/jre"
JAVA_HOME="/usr/lib/jvm/jdk1.8.0_151"
DERBY_HOME="/usr/lib/jvm/jdk1.8.0_151/db"
该environment文件现在应类似于以下文本:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk1.8.0_151/bin:/usr/lib/jvm/jdk1.8.0_151/db/bin:/usr/lib/jvm/jdk1.8.0_151/jre/bin"
J2SDKDIR="/usr/lib/jvm/jdk1.8.0_151"
J2REDIR="/usr/lib/jvm/jdk1.8.0_151/jre*
JAVA_HOME="/usr/lib/jvm/jdk1.8.0_151"
DERBY_HOME="/usr/lib/jvm/jdk1.8.0_151/db"
保存更改并关闭文件。
步骤4:通知Ubuntu有关安装位置
使用update-alternatives通知Ubuntu有关已安装的Java路径的信息。
# sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_151/bin/java" 0
# sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0_151/bin/javac" 0
# sudo update-alternatives --set java /usr/lib/jvm/jdk1.8.0_151/bin/java
# sudo update-alternatives --set javac /usr/lib/jvm/jdk1.8.0_151/bin/javac
步骤5:设定验证
提供您提供的java和的位置javac。
# update-alternatives --list java
# update-alternatives --list javac
重新启动计算机或打开新的终端。
步骤6:验证Java版本
# java -version
输出应类似于以下内容:
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
能够看到已安装的Java版本,这意味着您已经成功安装了Oracle JDK。