【问题标题】:Moving from JDK 1.7 to JDK 1.8 on Ubuntu在 Ubuntu 上从 JDK 1.7 迁移到 JDK 1.8
【发布时间】:2015-05-11 20:53:05
【问题描述】:

我在 UBUNTU 上。当前安装的JDK版本是:

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

正在安装的配置是:

sudo update-alternatives --config java
There is only one alternative in link group java 
(providing /usr/bin/java):     /usr/lib/jvm/java-7-oracle/jre/bin/java

我下载了 JDK 1.8 的最新 tar.gz 存档。

如何从 tar.gz 覆盖/卸载当前安装的 JDK 1.7 轻松安装 JDK 1.8?甚至没有明确使用 tar.gz。

【问题讨论】:

标签: java linux ubuntu java-8


【解决方案1】:

这就是我在 debian 上所做的 - 我怀疑它应该在 ubuntu 上工作(根据需要修改版本 + 根据需要调整要复制 JDK 文件的文件夹,我使用的是/opt/jdk):

wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u71-b15/jdk-8u71-linux-x64.tar.gz
sudo mkdir /opt/jdk
sudo tar -zxf jdk-8u71-linux-x64.tar.gz -C /opt/jdk/
rm jdk-8u71-linux-x64.tar.gz

然后更新替代方案:

sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_71/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_71/bin/javac 1

运行以下命令时选择/opt/jdk/jdk1.8.0_71/bin/java对应的数字:

sudo update-alternatives --config java
sudo update-alternatives --config javac

最后,验证是否选择了正确的版本:

java -version
javac -version

【讨论】:

  • 较新的 jdk,8u60,位于:http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz 请注意,如果没有 cookie 集,这将无法工作,因此请在答案中使用 wget
  • 谢谢。在我的情况下,它已经安装但不是默认的。 sudo update-alternatives --config javac 就足够了。
  • 使用 jdk 8u65 为我工作。谢谢!
  • 安装新版本后如何安全删除旧版本?
  • Java 9 即将发布。只是为了提供更多信息:)
【解决方案2】:

只需使用这些命令行:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

如果需要,也可以关注这个Ubuntu tutorial

【讨论】:

  • Java 8 安装程序似乎需要交互才能同意他们的 TOS,即使使用apt-get install -y... 有没有办法强制它从命令行同意,以便可以自动化,例如在流浪?
  • 当您的系统在代理之后,使用 'sudo -E' 来保护环境,并确保配置了适当的代理环境。
  • 包'oracle-java8-installer'没有安装候选
【解决方案3】:

添加存储库并更新 apt-get:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

安装Java8并将其设置为默认:

sudo apt-get install oracle-java8-set-default

检查版本:

java -version

【讨论】:

  • 迄今为止最简单的一个,谢谢!
  • 安装成功。
【解决方案4】:

您可以通过 PPA 轻松安装 1.8。可以通过以下方式完成:

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

然后查看运行版本:

$ java -version

如果您必须手动操作,AskUbuntu here 已经有答案。

【讨论】:

  • 你能具体告诉我哪个命令失败了吗?第一个?
  • 第二个...很多这样的消息:W: Failed to fetch it.archive.ubuntu.com/ubuntu/dists/saucy-backports/restricted/… 404 Not Found [IP:...
  • 您使用的是 Ubuntu 的 LTS 版本吗?
  • Ubuntu 13.10 已经结束,自 2014 年 7 月以来一直存在。也许他们将软件包留在服务器上一段时间,但现在它们已经消失了。最好的办法是安装受支持的 Ubuntu 版本。或者,如果您不想升级,则需要像我在原始答案中喜欢的那样尝试手动安装。
  • 我解决了这个问题:askubuntu.com/questions/56104/…
【解决方案5】:

您可以执行以下操作在您的机器上安装 java 8。首先获取要安装的tar的链接。你可以这样做:

  1. 转到 java 下载 page 并找到合适的下载。
  2. 接受许可协议并下载。
  3. 在浏览器的下载页面右键点击copy link address

然后在你的终端中:

$ cd /tmp
$ wget http://download.oracle.com/otn-pub/java/jdk/8u74-b02/jdk-8u74-linux-x64.tar.gz\?AuthParam\=1458001079_a6c78c74b34d63befd53037da604746c
$ tar xzf jdk-8u74-linux-x64.tar.gz?AuthParam=1458001079_a6c78c74b34d63befd53037da604746c
$ sudo mv jdk1.8.0_74 /opt
$ cd /opt/jdk1.8.0_74/
$ sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_91/bin/java 2
$ sudo update-alternatives --config java // select version
$ sudo update-alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_91/bin/jar 2
$ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_91/bin/javac 2
$ sudo update-alternatives --set jar /opt/jdk1.8.0_91/bin/jar
$ sudo update-alternatives --set javac /opt/jdk1.8.0_74/bin/javac
$ java -version // you should have the updated java

【讨论】:

    【解决方案6】:

    这个问题的大部分答案在 2020 年都帮不了我。

    这个来自Oracle下载site的通知可能是这个原因:

    重要的 Oracle JDK 许可证更新

    从 2019 年 4 月 16 日开始,Oracle JDK 许可证已更改。

    我尝试用谷歌搜索一下,下面的教程对我帮助很大。

    1. Remove completely the previous version of JVM installed on your PC

      sudo update-alternatives --remove-all java
      sudo update-alternatives --remove-all javac
      sudo update-alternatives --remove-all javaws
      
      # /usr/lib/jvm/jdk1.7.0 is the path you installed the previous version of JVM on your PC
      sudo rm -rf /usr/lib/jvm/jdk1.7.0 
      

      检查java是否被卸载

      java -version
      
    2. Install Java 8 JDK.

      • 从 Oracle 的website 下载 Java 8。正在使用的版本是1.8.0_251。注意这个值,当 Java 8 升级到另一个版本时,你可能需要它来编辑这个答案中的命令。
      • 将压缩文件解压到要安装的位置。

      cd /usr/lib/jvm
      sudo tar xzf ~/Downloads/jdk-8u251-linux-x64.tar.gz
      
      • 编辑环境文件

      sudo gedit /etc/environment
      
      • 通过将下面的字符串附加到当前值来编辑 PATH 的值

      :/usr/lib/jvm/jdk1.8.0_251/bin:/usr/lib/jvm/jdk1.8.0_251/jre/bin
      
      • 将这些字符串附加到环境文件中

      J2SDKDIR="/usr/lib/jvm/jdk1.8.0_251"
      J2REDIR="/usr/lib/jvm/jdk1.8.0_251/jre"
      JAVA_HOME="/usr/lib/jvm/jdk1.8.0_251"
      
      • 通过运行以下命令完成安装

      sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_251/bin/java" 0
      sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0_251/bin/javac" 0
      sudo update-alternatives --set java /usr/lib/jvm/jdk1.8.0_251/bin/java
      sudo update-alternatives --set javac /usr/lib/jvm/jdk1.8.0_251/bin/javac
      
      update-alternatives --list java
      update-alternatives --list javac
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-15
      • 2011-03-05
      • 1970-01-01
      • 2019-04-21
      • 2014-07-03
      • 2014-05-09
      相关资源
      最近更新 更多