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。
#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
评论
您需要自己编译。方法如下: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。