在Ubuntu 18.04上实际安装OpenJDK 11
OpenJDK 11于 1018年9月25日發(fā)布 。由于這是版本8之后的第一個(gè)LTS版本,因此期待已久。 在Ubuntu 18.04(Bionic Beaver)上安裝了該軟件包后,該軟件包附帶了一個(gè)名為openjdk-11-jdk的軟件包,令我驚訝的是它仍然是早期版本(Java 10)。
OpenJDK的SRU例外
Ubuntu Foundation團(tuán)隊(duì)為OpenJDK設(shè)置了SRU例外 。 Altought版本10是非LTS版本,他們將其打包為openjdk-11-jdk直到OpenJDK 11正式發(fā)布。 該選擇基于以下假設(shè):版本10和版本11之間的接口增量要比版本8和11之間的接口增量小得多。
這是一個(gè)很好的推論,也許當(dāng)OpenJDK的版本從10猛增到11時(shí), apt-get upgrade并不會(huì)把事情搞砸。
盡管有一個(gè)很小的區(qū)域,但是10和11之間有很大的不同,這就是Flight Recorder同時(shí)是開源的。 OpenJDK 10不包含飛行記錄器,因?yàn)槟菚r(shí)它是Oracle JDK的商業(yè)功能,但OpenJDK 11確實(shí)隨附了它。
因此,安裝openjdk-11-jdk不允許使用JFR來檢測應(yīng)用程序,因?yàn)橛糜趩⒂盟腏VM選項(xiàng)根本無法被OpenJDK 10識別。 實(shí)際上,JVM無法啟動(dòng),并抱怨無法識別的選項(xiàng)。
安裝Ubuntu的默認(rèn)JDK
這很簡單,您只需要以下軟件包。
% apt-get install default-jdk但是,請檢查實(shí)際安裝的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)手動(dòng)安裝OpenJDK
這也很容易,您只需要下載一個(gè)tarball并將其解壓縮到某個(gè)位置即可。
% 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之間切換
我更喜歡使用發(fā)行版的JDK,只要它可以處理當(dāng)前的任務(wù)即可。 在這種情況下,這不是一個(gè)選擇,至少現(xiàn)在還不是。 因此,我正在使用替代框架 ,通過該框架可以在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出現(xiàn)在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
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的在Ubuntu 18.04上实际安装OpenJDK 11的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 将光标移至行首_Java:将条
- 下一篇: ubuntu安装jdk语句_JDK 12