如何降级Java。例如将Java 7u72降级到7u67。

如何按照Check Point问题建议的方式将Java 7降级到更新版本67?
我需要这样做来安装Check Point VPN。
我需要安装Java 7u67。我应该如何操作?如何安装特定版本的Java?
目前,当我使用默认安装程序安装时,我拥有Java 8u25和Java 7u72。
我在Ubuntu 14.10上遇到了这个问题。
1个回答

下载

前往官方Java下载页面,向下滚动到页面底部,直到看到以前的版本。点击下载。

enter image description here

在下一页上选择Java SE 7,您将看到网页,在那里您可以选择特定的Java版本。如果您不确定该选择什么,请选择开发工具包 - 它将满足您的所有需求。

enter image description here

现在你将会得到this页面。并且你会看到下面的截图。根据你的架构选择tar.gz,我已经标出了适用于Ubuntu的两个选项。

picking java

甲骨文可能会要求您在下载之前注册。

安装

现在你有一个文件 jdk*.tar.gz这里有一个很好的手册关于安装Java。我摘取了其中的指导并稍作修改。

  • 解压缩 .tar.gz

    tar -xvf jdk*

JDK包被提取到 jdk.xxx 目录中。仔细检查这个文件夹的名称,因为我们将在下一步中使用它。我假设这个新提取的文件夹的路径是 path_to_jdk_folder,文件夹名称是 folder_name,在执行下面的命令之前,你应该手动更改它。

通常情况下:

path_to_jdk_folder - /home/c0rp/Downloads/jdk1.7.0

folder_name - jdk1.7.0

  • 安装

运行 sudo update-alternatives --list java 来检查是否已经配置了Java。

$ sudo update-alternatives --list java
/usr/lib/jvm/jdk1.6.0_45_x586/bin/java
/usr/lib/jvm/jdk1.7.0_21/bin/java
/usr/lib/jvm/jdk1.8.0/bin/java

如果出现“update-alternatives: error: no alternatives for java”的错误提示,请运行以下一组命令。不要忘记替换path_to_jdk_folderfolder_name
sudo mkdir /usr/lib/jvm
sudo mv path_to_jdk_folder /usr/lib/jvm/folder_name
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/folder_name/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/folder_name/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/folder_name/bin/javaws" 1
sudo chmod a+x /usr/bin/java
sudo chmod a+x /usr/bin/javac
sudo chmod a+x /usr/bin/javaws

如果没有错误并且您的Java列表不为空,请运行以下一组命令。不要忘记替换`path_to_jdk_folder`和`folder_name`:
LNUM=$[$(update-alternatives --list java | wc -l) + 1]
sudo mv path_to_jdk_folder /usr/lib/jvm/folder_name
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/folder_name/bin/java" "$LNUM"
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/folder_name/bin/javac" "$LNUM"
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/folder_name/bin/javaws" "$LNUM"
  • 运行

    sudo update-alternatives --config java
    

你会看到类似下面的输出-选择新的jdk1.7.0 (文件夹名称)的编号-例如在这个列表中选择2(除非你从未在计算机上安装过Java,此时会出现一句话说没有需要配置的内容):

    $ sudo update-alternatives --config java
    There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
  2            /usr/lib/jvm/jdk1.7.0/bin/java                   1         manual mode
* 3            /usr/lib/jvm/jdk1.8.0/bin/java                   1         manual mode

Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/jdk1.8.0/bin/java to provide /usr/bin/java (java) in manual mode

重复上述步骤:
sudo update-alternatives --config javac
sudo update-alternatives --config javaws

检查安装
java -version