在Ubuntu 18.04上实际安装OpenJDK 11
OpenJDK 11于 1018年9月25日发布 。由于这是版本8之后的第一个LTS版本,因此期待已久。 在Ubuntu 18.04(Bionic Beaver)上安装了该软件包后,该软件包附带了一个名为openjdk-11-jdk的软件包,令我惊讶的是它仍然是早期版本(Java 10)。
OpenJDK的SRU例外
Ubuntu Foundation团队为OpenJDK设置了SRU例外 。 Altought版本10是非LTS版本,他们将其打包为openjdk-11-jdk
直到OpenJDK 11正式发布。 该选择基于以下假设:版本10和版本11之间的接口增量要比版本8和11之间的接口增量小得多。
这是一个很好的推论,也许当OpenJDK的版本从10猛增到11时, apt-get upgrade
并不会把事情搞砸。
尽管有一个很小的区域,但是10和11之间有很大的不同,这就是Flight Recorder同时是开源的。 OpenJDK 10不包含飞行记录器,因为那时它是Oracle JDK的商业功能,但OpenJDK 11确实随附了它。
因此,安装openjdk-11-jdk
不允许使用JFR来检测应用程序,因为用于启用它的JVM选项根本无法被OpenJDK 10识别。 实际上,JVM无法启动,并抱怨无法识别的选项。
安装Ubuntu的默认JDK
这很简单,您只需要以下软件包。
% apt-get install default-jdk
但是,请检查实际安装的Java版本。
$ java -version
openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, mixed mode)
手动安装OpenJDK
这也很容易,您只需要下载一个tarball并将其解压缩到某个位置即可。
% wget https://download.java.net/java/GA/jdk11/28/GPL/openjdk-11+28_linux-x64_bin.tar.gz -O /tmp/openjdk-11+28_linux-x64_bin.tar.gz
% sudo tar xfvz /tmp/openjdk-11+28_linux-x64_bin.tar.gz --directory /usr/lib/jvm
% rm -f /tmp/openjdk-11+28_linux-x64_bin.tar.gz
这将是真正的OpenJDK 11 。
$ /usr/lib/jvm/jdk-11/bin/java -version
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
在JDK之间切换
我更喜欢使用发行版的JDK,只要它可以处理当前的任务即可。 在这种情况下,这不是一个选择,至少现在还不是。 因此,我正在使用替代框架 ,通过该框架可以在JDK之间轻松切换。
% sudo sh -c 'for bin in /usr/lib/jvm/jdk-11/bin/*; do update-alternatives --install /usr/bin/$(basename $bin) $(basename $bin) $bin 100; done'
% sudo sh -c 'for bin in /usr/lib/jvm/jdk-11/bin/*; do update-alternatives --set $(basename $bin) $bin; done'
一旦OpenJDK 11出现在Ubuntu 18.04中 ,将只是软件包升级和使用它的替代选择的问题。
% sudo apt-get install --only-upgrade default-jdk
% update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).Selection Path Priority Status
------------------------------------------------------------0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 auto mode1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 manual mode
* 2 /usr/lib/jvm/jdk-11/bin/java 100 manual modePress <enter> to keep the current choice[*], or type selection number:
翻译自: https://www.javacodegeeks.com/2018/12/installing-openjdk-11-ubuntu-18-04.html
在Ubuntu 18.04上实际安装OpenJDK 11相关推荐
- Ubuntu 18.04上Qmmp安装教程
Qmmp,一个开源的基于Qt的多媒体播放器.它具有多种音频文件格式支持,DSP效果,视觉效果;输出系统支持(OSS4(FreeBSD),ALSA(Linux),Pulse Audio,JACK,QtM ...
- linux ubuntu18.1安装教程,Ubuntu 18.04上Qmmp安装教程
导读 Qmmp是Ubuntu或其他操作系统的Winamp替代品.它像Winamp一样具有最小的界面.Qmmp是一个开源的.免费的基于qm的多媒体播放器,它不仅适用于Ubuntu,还可以安装在ALT L ...
- pppoe linux软件,在Ubuntu 18.04上编译安装pppoe客户端软件
PPPoE(以太网上的点对点协议Point-to-Point Protocol over Ethernet)是许多DSL Internet服务提供商使用的协议. RP-PPPoE是Linux的免费PP ...
- 如何使用DevStack在Ubuntu 18.04上安装OpenStack
Openstack is a free and opensource IaaS cloud platform that handles cloud compute, storage and netwo ...
- 如何在Ubuntu 18.04上安装Apache Kafka
介绍 (Introduction) Apache Kafka is a popular distributed message broker designed to efficiently handl ...
- skype linux 安装,如何在Ubuntu 18.04上安装Skype
Skype是世界上最流行的通信应用程序之一,它使您可以拨打免费的在线音频和视频电话,以及可负担得起的拨打全球移动电话和固定电话的国际电话. Skype不是开源应用程序,也不包含在Ubuntu存储库中. ...
- Ubuntu 18.04上进行HyperLedger Fabric 1.2.0环境及链码安装、部署和测试
Ubuntu 18.04上进行HyperLedger Fabric 1.2.0环境及链码安装.部署和测试 1.环境安装 HyperLedger Fabric 1.2.0环境的安装推荐一篇博客:http ...
- 在Ubuntu 18.04上安装和使用Tesseract 4
量子指南 (QUANTRIUM GUIDES) Today, the extraction of information from scanned documents such as letters, ...
- ubuntu memcached php,如何在 Ubuntu 18.04 上安装 Memcached
Memcached 是一个免费的开源高性能内存中键值数据存储. 它最常用于通过从数据库调用的结果缓存各种对象来加速应用程序. 在本教程中,我们将介绍在 Ubuntu 18.04 上安装和配置最新版 M ...
最新文章
- 浅谈阿里云混合云的探索与实践
- ActiveMQ的Transport Connectors配置(六)
- php redis编程,php + redis 实现关注功能
- 5、android使用意图传递数据之全局变量传递
- 线下商店销量预测挑战赛
- js 获取浏览器 滚动的高度
- activiti之奇淫技巧一(自动完成首个任务)
- mac下生成.icns图标
- python读取excel数据使用pyecharts展示
- 8款炫酷的HTML5特效源码
- P3456 [POI2007]GRZ-Ridges and Valleys
- 基于Html+Css+javascript的网页制作(旅游主题)
- 没有免费午餐定理(No Free Lunch Theorem)
- python关机usb端口_使用python关闭windows中的特定USB端口
- 企业级nginx使用
- 全球及中国乘用车安全设备行业研究及十四五规划分析报告
- uboot-uboot网络初始化分析
- 使用C#为SAP2000开发第一个插件
- ETL Automation
- 免费分享我的C++版多线程邮件地址采集器 1.0 大小230K 无需安装,纯绿色版