我最近不得不在 CentOS、openSUSE 和 Ubuntu 上安装 Java 7,经过大量的烦恼和研究,最终确定了这一点,它适用于所有三种风格:
- 忽略(并卸载)与您的发行版捆绑在一起/附带的任何 JRE 或 JDK。它们比它们的价值更麻烦,并且总是落后于最新的更新。
- 从 http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载 JRE 7(如果要开发,也可以下载 JDK 7)。
- 对于 JRE,如果您有 64 位机器,请获取 jre-xxx-linux-x64.tar.gz,或者获取 jre-xxx-linux-i586.tar.gz如果为 32 位。不要打扰 RPM。
- 对于 JDK,获取 jdk-xxx-linux-x64.tar.gz 如果你有一台 64 位机器或 jdk-xxx-linux-i586.tar.gz如果是 32 位。
- 以 root 用户身份或使用 sudo 执行以下操作:
- # tar -xzvf jdk-xxx-linux-x64.tar.gz (或您下载的任何一个)
- # mkdir /usr/java
- # mv jdkx.x.x_xx /usr/java (或者,如果 JRE,这将是提取的 JRE 目录)
- # ln -s /usr/java/jdkx.x.x_xx /usr/java/jdkx
- # ln -s /usr/java/jdkx /usr/java/latest
- # ln -s /usr/java/latest /usr/java/default
- # ln -s /usr/java/default/bin/java /usr/bin/java
- # ln -s /usr/java/default/bin/javac /usr/bin/javac
- # ln -s /usr/java/default/bin/javah /usr/bin/javah
- # ln -s /usr/java/default/bin/javadoc /usr/bin/javadoc
- # ln -s /usr/java/default/bin/javaws /usr/bin/javaws
显然,您必须在此处填写一些空白,但您应该了解图片。作为一个工作示例,这是我的安装(请注意,出于我的目的,我需要Java 7和Java 6 JDK的64位和32位版本,所以有很多):
# ls -al /usr/java/
total 24
drwxr-xr-x 6 root root 4096 Sep 2 11:02 .
drwxr-xr-x 14 root root 4096 Aug 9 22:14 ..
lrwxrwxrwx 1 root root 16 Aug 26 20:05 default -> /usr/java/latest
drwxr-xr-x 8 root root 4096 Sep 2 10:52 jdk1.6.0_35
drwxr-xr-x 8 root root 4096 Sep 2 10:52 jdk1.6.0_35-32
drwxr-xr-x 8 root root 4096 Sep 2 10:52 jdk1.7.0_07
drwxr-xr-x 8 root root 4096 Sep 2 10:52 jdk1.7.0_07-32
lrwxrwxrwx 1 root root 11 Sep 2 10:54 jdk6 -> jdk1.6.0_35
lrwxrwxrwx 1 root root 14 Sep 2 10:54 jdk6-32 -> jdk1.6.0_35-32
lrwxrwxrwx 1 root root 11 Sep 2 10:54 jdk7 -> jdk1.7.0_07
lrwxrwxrwx 1 root root 14 Sep 2 10:54 jdk7-32 -> jdk1.7.0_07-32
lrwxrwxrwx 1 root root 4 Sep 2 10:55 latest -> jdk7
# ls -al /usr/bin/java*
lrwxrwxrwx 1 root root 26 Aug 26 20:05 /usr/bin/java -> /usr/java/default/bin/java
lrwxrwxrwx 1 root root 27 Aug 26 20:05 /usr/bin/javac -> /usr/java/default/bin/javac
lrwxrwxrwx 1 root root 29 Aug 26 20:05 /usr/bin/javadoc -> /usr/java/default/bin/javadoc
lrwxrwxrwx 1 root root 27 Aug 26 20:07 /usr/bin/javah -> /usr/java/default/bin/javah
lrwxrwxrwx 1 root root 28 Aug 26 20:05 /usr/bin/javaws -> /usr/java/default/bin/javaws
# java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)