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

如何以及何时才能完成此操作?

(2017-08-08:非常简短的答案是:OpenJDK 8截至官方存储库中没有正式提供2017年8月8日作为Ubuntu 14.04的APT软件包的信息。请参阅此答案中的完整摘要)

注意:目前,我们将使用Oracle Java-最佳的解决方案但是,我是Ubuntu仓库中的OpenJDK,直到可以从Ubuntu仓库中直接轻松地使用Oracle Java。



评论

您需要自己编译。方法如下:github.com/hgomez/obuildfactory/wiki/…更改文件名以匹配版本8 ;-)

Azul已开始提供名称为“ Zulu”的OpenJDK构建,该构建可以自动下载,解压缩和使用。 (他们从支持中赚钱)。 azulsystems.com/products/zulu/downloads

值得注意的是,apt-fast for trust托管的同一ppa,ppa:saiarcot895 / myppa,具有可以正常工作的openjdk-8版本。耸耸肩

随着时间的流逝,似乎最简单的解决方案就是在可用时升级16.04 LTS。

#1 楼

您可以这样做;
最终更新
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,则必须从源代码进行编译。 OpenJDK仍然没有任何PPA。

https://bugs.launchpad.net/ubuntu/+bug/1297065
已要求使用它,我建议您使用Webup8 Oracle Java8安装程序

注意:WebUpd8团队的PPA已于2019年4月16日停止生效。因此,该PPA没有任何Java文件。可以在启动板的PPA页面上找到更多信息。因此,由于历史原因,以下方法不再起作用并存在。

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

,因此您必须等待使用OpenJDK8

评论


@JohnMerlino我的猜测是PPA允许在发布新版本时自动更新。

–特尔比约恩(ThorbjørnRavn Andersen)
14年6月22日在21:24

openjdk-8现在在Utopic中。已将bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1341628反向移植到14.04,因为它是LTS:

–特尔比约恩(ThorbjørnRavn Andersen)
2014年8月4日在12:06

为什么要进行新的编辑?它似乎仍然不在14.04版本中,并且sudo apt-get install openjdk-8-jdk至少对我来说不起作用。

– xji
2015年12月4日在20:14

截至2016年1月11日,仍需要非官方的Ubuntu PPA,因为OpenJDK 8尚未进入反向移植。我认为这并不是我的问题的答案,即使其他人看来也是如此。

–特尔比约恩(ThorbjørnRavn Andersen)
16年1月12日在8:51

该答案由于不完整而极具误导性,它表示不推荐所提及的PPA,但如果没有PPA则无法使用。

– Reinier Post
16-09-22在9:41



#2 楼

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 1.8版本为66。此存储库中可用的版本为45。

–mattm
2015年11月10日13:58

无法获取ppa.launchpad.net/openjdk-r/ppa/ubuntu/pool/main/o/openjdk-8/…502 apt-cacher:libcurl错误:从对等方接收数据时失败

–拉杰什·哈特瓦尔(Rajesh Hatwar)
16-10-28在6:30

这些是正确的最小步骤。 4和5是可选的,可能不是必需的。

–Air
16 Dec 23 '18:37

对于Ubuntu 14.04 E不起作用:软件包'openjdk-8-jdk'没有候选安装

–天真
17年7月26日在12:57

这在升级Jenkins时对我有用(新版本需要Java8,我的系统仅安装了Java7)。值得注意的是,第四行对于让詹金斯表现得正常很关键。在运行之前,我一直在使Jenkins需要Java8或更高版本,但是您正在/ usr / lib / jvm / java-7-openjdk-amd64 / jre运行1.7.0_121-b00。祝您投票愉快,如果可以的话,我会给您更多。

– Doktor J
17-10-12在20:26



#3 楼

OpenJDK 8于2014年3月发布。在提出此问题时,任何Ubuntu版本的官方Ubuntu存储库中都没有OpenJDK 8软件包。正如JDK 8项目页面上所说,它们“将很快可用”,以供不久后使用。

首先,OpenJDK 8软件包将在Ubuntu开发发行版中发布。在14.10开发周期中可能会发生这种情况,但是据我所知,没有固定的时间表。一些预览软件包已经构建并且可以用于测试,请参阅debian-java和Ubuntu openjdk邮件列表上的公告。某些时候,这些软件包将被上传到Debian和Ubuntu开发库。

一旦OpenJDK 8在Ubuntu开发版本中,则可能有可能要求将其回移植到14.04。请注意,它永远不会在主要的trusty信息库中提供,但是如果您使用trusty-backports,则有时可以从那里安装它。在此处了解有关在Ubuntu中请求反向移植的过程的信息。

评论


我试图用您似乎想要的限制来回答“如何以及何时”的问题:必须来自官方存储库,必须来自OpenJDK,并且必须是14.04 LTS版本。

–迈克·米勒(Mike Miller)
14年5月13日在12:54

其2016年2月版本和Java 8在Ubuntu 14.04 LTS上仍然不可用。这真令人失望。

–巴文·多希(Bhavin Doshi)
16年2月11日在6:10

是2016年4月,仍然没有Java 8 ...

–斯蒂芬·亨宁森(Stephan Henningsen)
16年4月1日在9:45

Ubuntu 16.04将于2016年4月发布,它将具有OpenJDK 8。

–迈克·米勒(Mike Miller)
16年4月2日在20:21

2016年9月,直到2019年仍将支持Ubuntu 14.04 LTS ...由于大规模更改(例如systemd),很多地方采用16.04都将花费很长时间,因此仍然令人失望Java 8通过apt在14.04上安装:(

–geerlingguy
16年3月3日在21:34

#4 楼

注–这仅适用于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


评论


在sudo apt-get更新后,我的Linux 14.04上仍然只看到JDK 6和7,没有openjdk-8-jdk。您是否添加了一些特殊的存储库?我启用了可信任的反向移植。

–akauppi
2015年4月19日在19:25

我认为您正在运行14.10或15.04,不是吗?

–akauppi
2015年4月19日19:30在

我无法在14.04 LTS上复制。请确认这是版本。

–特尔比约恩(ThorbjørnRavn Andersen)
15年4月20日在7:59

@akauppi你是对的!我正在运行14.10。抱歉给您带来不便,我应该删除答案吗?

–加拉加
15年4月20日在14:51

我不希望删除它-对于某些人,使用14.10而不是14.04可能是一个很好的选择。

–akauppi
2015年4月21日在8:06

#5 楼

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


这是无人值守的,适用于包含在Vagrant提供区中;我有一个更详细的要点:https://gist.github.com/tinkerware/cf0c47bb69bf42c2d740

编辑:这将自动接受Oracle的JDK许可证;在运行它之前,请确保您对它没问题。

评论


看起来不错。但是它缺少您获得根访问权限的部分。还是不错的答案。

–MadMike
15年1月16日在7:37

对;我将它与Vagrant一​​起使用,后者使用无密码的sudo设置了无业游民的用户。


2015年1月17日下午13:21

这是Oracle Java,而不是问题所在的OpenJDK Java。另请注意,回声线环绕了安装程序的许可接受问题。

–特尔比约恩(ThorbjørnRavn Andersen)
15年4月20日在7:59

@ThorbjørnRavnAndersen是的,我确实注意到了有关OpenJDK的问题。我专门说过,我的方法是安装Oracle Java。您可能会争辩说这无关紧要,但是我认为值得一提的是仍然可以让您在14.04 LTS上运行Java 7/8的运行时的替代方法。许可接受问题的“规避”是一个有趣的词选择;我想说一个人应该在运行脚本之前阅读Oracle许可证,该脚本会在安装过程中自动接受。


2015年4月21日在17:10

谢谢@Cagatay !!这个答案对我来说非常有用,我正在寻找使用Vagrant的Java 8安装。

– Sotsir
2015年9月15日在21:49

#6 楼

截至2017-08-08,我发现此问题及其答案变得有些难以理解,因此我在此答案中总结了这些发现。
很简短的答案是OpenJDK 8截至2017年8月8日,Ubuntu 14.04尚未正式可用。
但是有许多可用选项:

升级到较新版本的Ubuntu。 OpenJDK 8从14.10起可用。 (从16.04 LTS起的OpenJDK 9,从18.04 LTS起的OpenJDK 11)
从http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads下载并安装Oracle Java(不是OpenJDK) -2133151.html作为tar.gz文件手动安装,只需将其解压缩并接受许可,然后将bin目录添加到您的$PATH变量即可。您可能还选择使用第三方PPA。重要信息:许可证在2019年进行了更改,以更加严格,您可能需要成为付费客户才能在生产中使用Oracle Java!
从http://www.azul.com下载经过Azul认证的OpenJDK 8版本。 / downloads / zulu / zulu-linux /

使用第三方PPA下载OpenJDK8。
编译源代码并自己安装。

(请随意添加其他提供者)。
有关详细信息,请参见其他答案。
请注意,个人包裹档案(PPA)通常是个人自愿建立的。内容可能已过时或在没有警告的情况下消失。
我个人建议将Ubuntu升级到18.04 LTS,或者如果不可能的话,下载Azul版本。 AdoptOpenJDK仅是16.04以后的一个选项。

注意:如果仍然需要将OpenJDK 8移植到14.04,请通过登录并单击顶部的“对您有影响吗”,对此错误进行投票:https: //bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1368094

#7 楼

注意自2016年4月22日以来,Vivid的软件包已被删除。在packages.ubuntu.com中的新闻条目:“反映出xenial版本,添加yakkety,删除生动”。此答案的解决方法很聪明,但在当前情况下不再适用。截至2017年1月6日,可信任的packages.ubuntu.com/trusty-backports/java上还没有Java 8的反向端口。请根据更改进行编辑。


请参阅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/下载适用于您体系结构的.deb软件包。生动/ openjdk-8-jdk:
openjdk-8-jre-headless
openjdk-8-jre
openjdk-8-jdk

请记住,您可以获得x86_64代表64位(amd64)Linux内核体系结构,而i386 / i486 / i586 / i686代表32位(i386)代表您的计算机的体系结构:

$ uname -m    


)系统。

(可选)使用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    


#8 楼

我只是在这里投票,现在我们有733个人关心将openjdk-8反向移植到ubuntu-14.04。

我发现此PPA信息库是相当最新的


并希望有希望!!


它对我有用。我成功使用以下命令在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


我的虚拟主机服务器提供商告诉我他们仅提供对Ubuntu-14.04的支持,我猜他们想一直这样直到2019年!因此,如果您知道在ubuntu-14.04上安装openjdk-8的任何更好方法,请告诉我。

谢谢!

评论


我建议使用Azul Zulu。 azul.com/downloads/zulu

–特尔比约恩(ThorbjørnRavn Andersen)
17年5月10日在8:19

我还必须运行以下命令才能使其正常工作:sudo update-java-alternatives --jre --set java-1.8.0-openjdk-amd64和sudo update-java-alternatives --jre-headless --set java- 1.8.0-openjdk-amd64

– champost
17年7月26日在11:07



#9 楼

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

步骤如下:


安装Nix软件包管理器(https://www.domenkozar.com/2014/01/02/getting-started-with-nix-package-manager/ ):$ bash <(curl https://nixos.org/nix/install)
在安装结束时运行shell一线Nix告诉您:$ . ~/.nix-profile/etc/profile.d/nix.sh
安装OpenJDK Nix软件包:$ nix-env -i openjdk
检查javac$ javac -version

就这样。哦,您将要确保将第2步中的单线放入~/.bashrc中。这将告诉Nix正确链接已安装的软件包(因为它将实际文件保留在非标准目录中)。

评论


出于好奇-为什么您除了apt-get之外还想要一个额外的软件包管理器?

–特尔比约恩(ThorbjørnRavn Andersen)
2015年10月10日13:00

@ThorbjørnRavnAndersen-具体的原因是可以以最小的痛苦快速获得OpenJDK 8,并且一般的原因是Nix是与apt-get和其他较早的软件包管理器相比的革命性改进。

– Yawar
2015年10月10日15:51

我问的是一般情况-不是专门针对OpenJDK。引入新的程序包管理器比不使用现有的生态系统要重得多,这肯定有很重的理由,我很难理解。

–特尔比约恩(ThorbjørnRavn Andersen)
2015年10月10日在21:31

@ThorbjørnRavnAndersen-在一般情况下有充分的理由推荐Nix。正如我提到的,这是革命性的改进。在git上超过svn。请访问infoq.com/articles/configuration-management-with-nix了解更多信息。

– Yawar
2015年10月11日在5:01



#10 楼

我从官方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


评论


这个答案对我不起作用。 openjdk-8-jdk想要openlibd-8-jre,想要libjpeg62-turbo。 apt认为后者“不可安装”或更详细地说“不可用,但由另一个软件包引用。这可能意味着该软件包丢失,已废弃或只能从其他来源获得” –不是来自我的存储库。追逐变得太广以至于不明智

– XavierStuvw
17年1月6日在15:12

#11 楼

直接从源代码自己构建Java 8实际上也很容易...听起来很吓人吗?正如我在http://blog2.vorburger.ch/2014/06/build-上所描述的那样,使用https://github.com/hgomez/obuildfactory/确实非常容易,而且实际上大约需要15分钟。 your-own-jdk-at-home.html

评论


建筑是一回事。那TCK呢?

–特尔比约恩(ThorbjørnRavn Andersen)
2014年11月24日23:32

@ThorbjørnRavnAndersen我不知道。对于个人最终用户,自我构建已经非常有用。对于实际准备经过全面测试的程序包,可能是另一回事了……恐怕我对您一无所知。我只是环顾四周,发现openjdk.java.net/groups/conformance/JckAccess,您看到了吗?

– vorburger
2014-11-25 13:43

#12 楼

2016年3月11日更新,以root用户身份运行这些文件:

apt-get update
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DA1A4A13543B466853BAF164EB9B1D8886F44E2A
touch /etc/apt/sources.list.d/openjdk.list
echo "deb http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main " >>/etc/apt/sources.list.d/openjdk.list
echo "deb-src http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main" >>/etc/apt/sources.list.d/openjdk.list
apt-get update
apt-get -y install openjdk-8-jdk
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
echo "$JAVA_HOME"


评论


第一行是不需要的。接下来的4行等效于add-apt-repository ppa:openjdk-r / ppa。此答案也是较旧答案的重复。

– Paul Stelian
16年4月18日在9:44

总而言之(截至2017-05-02),这对我有用。 sudo add-apt-repository -y ppa:openjdk-r / ppa; sudo apt-get更新;须藤apt-get install -y openjdk-8-jdk

– Tzunghsing David Wong
17年5月3日,0:31