当前位置: 首页>>技术问答>>正文


如何在14.04 LTS上安装OpenJDK 8?

, ,

问题描述

(2017-08-08:在a new answer中进行了清理和总结)

根据http://openjdk.java.net/projects/jdk8/,Java 8现在可用,但http://openjdk.java.net/install/尚未提及如何在Ubuntu 14.04长期支持中安装OpenJDK 8(不是Oracle Java)。 (对于14.10和更高版本,只需运行apt-get install openjdk-8-jdk)

如何以及何时可以做到这一点?

(现在我们将使用Oracle Java–但对于我来说,最佳解决方案是从Ubuntu存储库中获得OpenJDK,直到Oracle Java可以直接从Ubuntu存储库中直接获得并且毫不费力)


最佳解决思路

你可以这样做;

最终更新

JDK

sudo apt-get install openjdk-8-jdk

JRE

sudo apt-get install openjdk-8-jre

旧更新

我发现了两个存储库,但我不推荐

  • OpenJDK构建(所有拱形)

    ppa:openjdk-r/ppa
    
  • OpenJDK 8 backport值得信赖

    ppa:jochenkemnade/openjdk-8
    

原始信息

如果你真的想使用OpenJDK,你必须从源代码compile。 OpenJDK还没有任何PPA。

已经在https://bugs.launchpad.net/ubuntu/+bug/1297065上提出要求

我建议你使用Webup8 Oracle Java8 Installer

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

自动设置Java 8环境变量

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

核实

java -version

所以你必须等待使用OpenJDK8

次佳解决思路

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac

第三种解决思路

OpenJDK 8于2014年3月发布。截至此问题发布时,Ubuntu官方发布的Ubuntu版本中没有OpenJDK 8软件包。正如JDK 8 project page所说,它们“很快就会上市”,对于即将推出的一些定义。

首先,OpenJDK 8软件包将登陆Ubuntu开发版本。这可能在14.10的开发周期中发生,但据我所知没有设定的时间表。一些预览软件包已经建成并可供测试,请参阅debian-java和Ubuntu openjdk邮件列表上的公告。在某些时候,这些软件包将被上传到Debian和Ubuntu开发库。

一旦OpenJDK 8处于Ubuntu开发版本中,那么可能会要求将其回溯到14.04。请注意,它在主trusty存储库中永远不可用,但如果您使用trusty-backports,那么它可能在某个时刻从那里安装。阅读有关在Ubuntu here中请求backports的过程。

第四种思路

注 – 这只适用于14.10或更高版本:

1年后,但今天它与apt-get一样符合预期。

对于安装JDK:

$ sudo apt-get install openjdk-8-jdk

对于安装JRE:

$ sudo apt-get install openjdk-8-jre

如何设置默认的JDK

最快的方法

运行$ sudo update-alternatives --config java并输入您要使用的JDK的编号。

第二种方式

列出可用的JDK:

$ update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

现在,要复制&粘贴Open JDK 8的位置以匹配下面的命令:

$ sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64

第五种思路

下面是我用来在Ubuntu 14.04 LTS上从头开始设置Oracle Java 7和Java 8 [请注意:不是OpenJDK]:

apt-get -y -q update
apt-get -y -q upgrade
apt-get -y -q install software-properties-common htop
add-apt-repository ppa:webupd8team/java
apt-get -y -q update
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
apt-get -y -q install oracle-java8-installer
apt-get -y -q install oracle-java7-installer
update-java-alternatives -s java-8-oracle

这是无人看管的,适合列入流浪者条款;我有一个更详细的要点:https://gist.github.com/tinkerware/cf0c47bb69bf42c2d740

第六种思路

注意从2016年4月22日起,Vivid的软件包已被删除,唉。 package.ubuntu.com中的新闻项目:“反映xenial发布,添加yakkety,删除生动”。这个答案的解决方法很聪明,但在当前情况下不再适用。截至2017年1月6日,在trusty packages.ubuntu.com/trusty-backports/java上没有java 8的backport。请在更改适用时进行编辑。


查看Android官方网站的答案

https://source.android.com/source/initializing.html

Ubuntu 14.04没有支持OpenJDK 8的软件包。 Ubuntu 15.04 OpenJDK 8软件包已成功用于Ubuntu 14.04。使用下面的说明发现较新的软件包版本(例如15.10,16.04版本)未能在14.04版本上运行。

http://packages.ubuntu.com/vivid/openjdk-8-jdk下载您的架构的.deb包:openjdk-8-jre-headless openjdk-8-jre openjdk-8-jdk

请记住,您可以通过以下方式获得机器的体系结构:

$ uname -m    

x86_64代表64位(amd64)Linux内核架构,i386 /i486 /i586 /i686代表32位(i386)系统。

或者,使用http://packages.ubuntu.com/vivid/openjdk-8-jdk上的信息确认下载文件的校验和。

例如,使用sha256sum工具:

$ sha256sum {package file}    

安装软件包:

$ sudo apt-get update    

为您下载的每个.deb文件运行dpkg。由于缺少依赖关系,它可能会产生错误:

$ sudo dpkg -i {downloaded.deb file}    

修复缺失的依赖关系:

$ sudo apt-get -f install    

第七种思路

截至2017年8月8日,我发现这个问题及其答案已经变得有点难以理解这个问题,所以我在这个答案中总结了这些发现。

非常简短的答案是OpenJDK 8截至2017年8月8日并未正式提供给Ubuntu 14.04。

然而,有很多选择可用:

详情请参阅其他答案。

请注意,个人包装档案(PPA)通常由个人在自愿的基础上制作。内容可能已过时或在没有警告的情况下消失。

我个人建议将Ubuntu升级到16.04 LTS,或者如果无法下载Azul版本。


注意:如果您仍然需要将OpenJDK 8反向移植到14.04,请登录后单击顶部的“影响您”:https://bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1368094

第八种思路

我刚刚投了here,现在我们有733人,我们关心的是将openjdk-8移植到Ubuntu-14.04。

我发现this PPA repository是相当不错的

and hopefully promising!?

它为我工作。我成功地使用以下命令在ubuntu-14.04上安装了openjdk-8-jdk:

sudo add-apt-repository ppa:jonathonf/openjdk sudo apt-get update sudo apt-get install openjdk-8-jdk

这里是我的java -version输出:

openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~14.04.york0-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

这里是我的uname -a输出:

Linux mars1 4.4.0-75-generic #96~14.04.1-Ubuntu SMP Thu Apr 20 11:06:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

这里是我的lsb_release -a输出:

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:        14.04
Codename:       trusty

我的virtual-host-server提供商告诉我他们只提供对Ubuntu-14.04的支持,我猜他们想继续这样做直到2019年!所以请让我知道,如果你知道在ubuntu-14.04上有openjdk-8的更好方法吗?

谢谢!

第九种思路

Nix软件包管理器还维护用于Ubuntu的OpenJDK 8的二进制包,这意味着您可以在不到五分钟的时间内开始完成工作的Java 8编译器(当然,使用快速的Internet连接)。

步骤是:

  1. 安装Nix包管理器(https://www.domenkozar.com/2014/01/02/getting-started-with-nix-package-manager/):$ bash <(curl https://nixos.org/nix/install)

  2. 运行shell one-liner Nix在安装结束时告诉您:$ . ~/.nix-profile/etc/profile.d/nix.sh

  3. 安装OpenJDK Nix包:$ nix-env -i openjdk

  4. 检查javac$ javac -version

而已。哦,并且您需要确保将步骤2中的one-liner放入您的~/.bashrc中。这将告诉Nix正确连接你的安装包(因为它将实际文件保存在non-standard目录中)。

第十种思路

我从官方Debian仓库获取OpenJDK 8,而不是一些随机PPA。以下是我的做法:

sudo apt-get install debian-keyring debian-archive-keyring

制作/etc/apt/sources.list.d/debian-jessie-backports.list

deb http://<httpredir>.debian.org/debian/ jessie-backports main

在那里用<httpredir>改变近镜像的前缀(参见https://www.debian.org/mirror/list)

制作/etc/apt/preferences.d/debian-jessie-backports

Package: *
Pin: release o=Debian,a=jessie-backports
Pin-Priority: -200

然后最后做安装:

sudo apt-get update
sudo apt-get -t jessie-backports install openjdk-8-jdk

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/109.html,未经允许,请勿转载。