在本教程中,我们将向您展示如何手动在Debian上安装Oracle JDK 8。
环境 :
- Debian 7
- 已安装OpenJDK 1.7。 (稍后切换到Oracle JDK 8)
在撰写本文时,OpenJDK 1.8还没有包含在默认的apt-get存储库中。 我只是不喜欢默认的apt储存库计划,它总是随着较早或过时的发布而来。
注意
本指南已在其他Debian衍生产品(如Ubuntu 14和Mint 1.7.2)中进行了测试。
1.快速检查
1.1快速Java版本检查:
$ java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~deb7u1)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
$ javac -version
javac 1.7.0_75
已安装现有的OpenJDK 1.7,没问题,我们将向您展示如何将其切换到JDK 8。
1.2通过apt-cache
快速搜索,还没有openjdk-8…。
$ apt-cache search openjdk
...
openjdk-7-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-7-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-6-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-6-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
...
2.获取Oracle JDK 8
1.1访问Oracle JDK下载页面
1.2找到一个Linux x64版本,在本示例中,我们将通过wget
命令获取jdk-8u66-linux-x64.tar.gz
。
$ pwd
/home/mkyong
$ wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.tar.gz
如果您不想使用wget
(为什么?),只需下载文件并手动上传到服务器即可。
3.提取到/ opt / jdk /
3.1将其提取到路径/opt/jdk/jdk1.8.0_66
$ pwd
/home/mkyong
$ sudo mkdir /opt/jdk/
$ sudo mv ~/jdk-8u66-linux-x64.tar.gz /opt/jdk/
$ sudo cd /opt/jdk/
$ pwd
/opt/jdk/
$ sudo tar -zxf jdk-8u66-linux-x64.tar.gz
$ ls -ls
total 177056
4 drwxr-xr-x 3 root root 4096 Oct 27 13:05 .
4 drwxr-xr-x 3 root root 4096 Oct 27 13:03 ..
4 drwxr-xr-x 8 uucp 143 4096 Oct 7 00:40 jdk1.8.0_66
177044 -rw-r--r-- 1 root root 181287376 Oct 8 15:56 jdk-8u66-linux-x64.tar.gz
注意
或者,尝试使用这一行提取命令。$ sudo tar x -C /opt/jdk -f jdk-8u66-linux-x64.tar.gz
4.安装JDK
4.1使/opt/jdk/jdk1.8.0_66
作为/usr/bin/java
和/usr/bin/javac
的新JDK替代品
$ sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_66/bin/java 100
$ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_66/bin/javac 100
4.2更新java
和javac
的默认JDK
$ update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 auto mode
* 1 /opt/jdk/jdk1.8.0_66/bin/java 100 manual mode
2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 manual mode
Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /opt/jdk/jdk1.8.0_66/bin/java to provide /usr/bin/java (java) in manual mode
$ update-alternatives --config javac
There are 2 choices for the alternative javac (providing /usr/bin/javac).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-7-openjdk-amd64/bin/javac 1051 auto mode
* 1 /opt/jdk/jdk1.8.0_66/bin/javac 100 manual mode
2 /usr/lib/jvm/java-7-openjdk-amd64/bin/javac 1051 manual mode
Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /opt/jdk/jdk1.8.0_66/bin/javac to provide /usr/bin/javac (javac) in manual mode
5.验证
再次检查Java版本。
$ java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
root@hydra:/opt/jdk#
$ javac -version
javac 1.8.0_66
做完了 享受您的Lambda!
6.其他...如何升级?
假设发布了新的jdk1.8.0_99
,我们想对其进行升级。
6.1下载JDK tar文件并将其/opt/jdk/jdk1.8.0_99
到/opt/jdk/jdk1.8.0_99
6.2不言自明。
# 6.2.1 Remove the existing alternatives - jdk1.8.0_66
$ sudo update-alternatives --remove java /opt/jdk/jdk1.8.0_66/bin/java
$ sudo update-alternatives --remove javac /opt/jdk/jdk1.8.0_66/bin/javac
# 6.2.2 Install new JDK alternatives - jdk1.8.0_99
$ sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_99/bin/java 100
$ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_99/bin/javac 100
# 6.2.3 Update default JDK again, select /opt/jdk/jdk1.8.0_99
$ update-alternatives --config java
$ update-alternatives --config javac
# 6.2.4 Remove the old JDK folders
$ sudo rm -rf /opt/jdk/jdk1.8.0_66/
如何升级到即将推出的Oracle JDK 9? 你知道该怎么办🙂
参考文献
翻译自: https://mkyong.com/java/how-to-install-oracle-jdk-8-on-debian/