在Ubuntu上从JDK 1.7迁移到JDK 1.8


69

我在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档案。

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


3
我个人只是下载tar.gz,并将其解压缩到本地目录(在〜下)。
2015年

Answers:


76

这是我在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

3
较新的jdk,8u60,位于:http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz请注意,如果没有cookie设置,它将无法使用,因此请wget在答案中使用。
Qtax 2015年

谢谢。就我而言,它已经安装,但不是默认安装。 sudo update-alternatives --config javac然后就足够了。
matanster

1
使用jdk 8u65为我工作。谢谢!
thatWiseGuy 2015年

安装新版本后,如何安全删除旧版本?
deanresin

Java 9即将发布。只是为了提供更多信息
:)

51

只需使用以下命令行:

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

如果需要,您还可以按照本Ubuntu教程进行操作


即使使用apt-get install -y... ,java 8安装程序似乎也需要交互才能同意其TOS ...是否有任何方法可以从命令行强制使其同意,以便可以自动化(例如在Vagrant中)?
亚当·塔特尔

当您的系统位于代理之后时,请使用“ sudo -E”保留环境,并确保配置了适当的代理环境。
ChuckCottrill

41

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

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

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

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

检查版本:

java -version

3
迄今为止最简单的一个,thanx!
Eliran Malka

安装成功。
Sonal Dalal

19

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

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

然后检查运行版本:

$ java -version

如果你必须这样做手工有已经一个答案上AskUbuntu这里


1
您能具体告诉我哪个命令失败了吗?第一个?
SupaJord

第二个消息...大量这样的消息:W:无法获取。archive.ubuntu.com/ ubuntu / dists / saucy-backports / restricted /… 404未找到[IP:...
Johan

您是否正在使用Ubuntu的LTS版本?
SupaJord

1
Ubuntu 13.10已停产,自2014年7月以来一直有效。也许他们将软件包留在服务器上了一段时间,但现在已经不复存在了。最好的办法是安装受支持的Ubuntu版本。或者,如果您不想升级,则需要尝试手动安装,就像我在原始答案中喜欢的那样。
SupaJord

1
我用以下方法解决了: askubuntu.com/questions/56104/…–
Johan

10

您可以执行以下操作在计算机上安装Java 8。首先获取tar您要安装的链接。您可以通过以下方式做到这一点:

  1. 转到Java下载页面并找到适当的下载。
  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

1

这个问题的大多数答案都无法在2020年帮助我。

来自Oracle下载站点的此通知可能是以下原因:

重要的Oracle JDK许可证更新

从2019年4月16日开始,Oracle JDK许可证的发行版本已更改。

我尝试用Google搜索一下,下面的那些教程对我有很大帮助。

  1. 完全删除PC上安装的JVM的早期版本

    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. 安装Java 8 JDK

    • 从Oracle网站下载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
    
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.