Java 在Ubuntu上从JDK1.7迁移到JDK1.8

Java 在Ubuntu上从JDK1.7迁移到JDK1.8,java,linux,ubuntu,java-8,Java,Linux,Ubuntu,Java 8,我在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 ja

我在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
正在安装的配置为:

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
我下载了JDK1.8的最新tar.gz归档文件


如何从tar.gz轻松安装JDK1.8,覆盖/卸载当前安装的JDK1.7?甚至不显式使用tar.gz

只需使用以下命令行:

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

如果需要,您也可以遵循此操作。

您可以通过PPA轻松安装1.8。这可以通过以下方式实现:

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer
然后检查正在运行的版本:

$ java -version

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

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

wget-标头Cookie:oraclelicense=接受安全备份Cookiehttp://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更新备选方案-安装/usr/bin/java/opt/jdk/jdk1.8.0_71/bin/java 1 sudo更新替代方案-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

添加存储库并更新apt get:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
安装Java8并将其设置为默认值:

sudo apt-get install oracle-java8-set-default
检查版本:

java -version

您可以执行以下操作在计算机上安装Java8。首先获取要安装的tar链接。您可以通过以下方式完成此操作:

转到java下载并找到相应的下载。 接受许可协议并下载它。 在浏览器的下载页面中,右键单击并复制链接地址。 然后在终端中:

$ 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

2020年,这个问题的大部分答案对我都没有帮助

此Oracle下载通知可能是以下原因:

重要的Oracle JDK许可证更新

自2019年4月16日起,Oracle JDK许可证已更改为发布版本

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

sudo更新替代方案-删除所有java sudo更新替代方案-删除所有javac sudo更新替代方案-删除所有javaws /usr/lib/jvm/jdk1.7.0是您在PC上安装以前版本的jvm的路径 sudorm-rf/usr/lib/jvm/jdk1.7.0 检查java是否已卸载

java版本

从Oracle网站下载Java8。使用的版本为1.8.0_251。请注意这个值,当Java8升级到另一个版本时,您可能需要它来编辑这个答案中的命令。 将压缩文件解压缩到要安装的位置。 编辑环境文件 通过将下面的字符串附加到当前值来编辑路径的值 将这些字符串附加到环境文件中 通过运行下面的命令完成安装
就我个人而言,我只是下载tar.gz,并将其解压到~.下的本地目录。你能具体告诉我哪个命令失败了吗?第一个?第二个。。。大量类似这样的消息:W:未能获取404未找到[IP:…你使用的是Ubuntu的LTS版本吗?Ubuntu13.10已于2014年7月停止使用。也许他们将软件包留在服务器上一段时间,但现在已经不存在了。最好的办法是安装受支持的Ubuntu版本。或者,如果你不想升级,你需要尝试手动安装,就像我在原始答案。我解决了这个问题:更新的jdk,8u60,位于:http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz 请注意,如果没有cookie集,这将无法工作,因此请使用wget作为答案。谢谢。在我的例子中,它已经安装,但不是默认值。sudo update alternations-config javac当时是enough、 为我使用jdk 8u65工作。谢谢!在安装新版本后,如何安全地删除旧版本?Java 9很快就会发布。不过,仅提供额外信息:迄今为止最简单的版本,thanx!已成功安装。Java 8安装程序似乎需要交互才能同意其TOS,即使使用apt get install-y…是否存在通过命令行强制其同意以实现自动化的任何方法,例如在Vagrant中?当您的系统位于代理之后时,请使用“sudo-e”保存环境,并确保配置了适当的代理环境。
:/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