那些想要在Ubuntu,Debian和基于Linux发行版的Linux发行版上安装最新的Oracle Java 16(最近发行)的人,例如Linux Mint,Pop!_OS等,现在可以使用Linux Uprising PPA进行安装。 Oracle JDK 16将至少获得两个季度的更新,然后在2021年9月发布Oracle JDK 17。

你可以通过访问发行公告,了解Oracle Java 16的新增功能。

我想指出的是,我不建议使用Oracle Java,但是我将其提供给需要它的人。 Oracle Java使用从Java 11开始的商业许可证,该许可证仅允许免费下载和使用它以进行开发和测试,但是需要付费才能在生产中使用它。你可以使用开源JDK构建代替Oracle Java,例如AdoptOpenJDK或Zulu OpenJDK提供的那些。

这个Oracle Java 16安装程序是基于Web Upd8 Java包的(所以感谢它最初的创造者),只做了一些细微的修改,并且它不包含任何Oracle Java二进制文件。相反,它会自动下载、安装(通过一些调整,比如更好的字体呈现、添加应用程序菜单项等),并可选择将Oracle Java 16设置为系统上的默认Java(运行update-alternatives,导出JAVA_HOME环境变量,等等)。

Oracle确实提供了针对Oracle Java的DEB软件包,但是,这些软件包仅将Java二进制文件复制到/usr/lib/jvm,而无需执行其他任何操作,因此与您自己将Java目录复制到该位置完全相同。

PPA提供了用于x64和aarch64体系结构的Oracle JDK 16,这是Oracle提供最新Java 16的仅有的两种体系结构。

如何使用APT PPA存储库在Ubuntu,Debian,Linux Mint,Pop!_OS或Zorin OS上安装Oracle JDK 16

使用以下命令添加Oracle Java 16 PPA存储库并在Ubuntu,Linux Mint,Pop!_OS或Zorin OS上更新软件源:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo add-apt-repository ppa:linuxuprising/java
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update

添加Oracle Java 16 PPA存储库(及其密钥),并在Debian和其他基于Debian的Linux发行版(但不是基于Ubuntu和Ubuntu)上更新软件源代码:

linuxmi@linuxmi:~/www.linuxmi.com$ su –
linuxmi@linuxmi:~/www.linuxmi.com$ echo “deb http://ppa.launchpad.net/linuxuprising/java/ubuntu focal main” | tee /etc/apt/sources.list.d/linuxuprising-java.list
linuxmi@linuxmi:~/www.linuxmi.com$ apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv-keys 73C3DB2A
linuxmi@linuxmi:~/www.linuxmi.com$ apt-get update
linuxmi@linuxmi:~/www.linuxmi.com$ exit

现在你可以在Debian / Ubuntu和Linux发行版上安装Oracle JDK 16了:

安装并使Oracle JDK 16成为默认的JDK版本:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install oracle-java16-installer –install-recommends

安装但不使Oracle JDK 16为默认版本:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install oracle-java16-installer –no-install-recommends

在 oracle-java16-set-default包的帮助下,您可以控制Oracle JDK 16是否为默认JDK版本或说明。如果安装了这个,Oracle JDK 16被设置为默认值;删除这个包,这样Oracle Java 16就不会被设置为默认值(除非它是系统上唯一的Java版本)。

该软件包被设置为Oracle Java 16安装程序的推荐软件包,这就是为什么使用 –install-recommends 安装 oracle-java16-installer还会安装oracle-java16-set-default.的原因。

要检查系统中哪个Java版本被设置为默认,可以运行 java -version或 javac -version。输出显示Oracle Java 16设置为default:

linuxmi@linuxmi:~/www.linuxmi.com$ java -version
java version “16” 2021-03-16
Java(TM) SE Runtime Environment (build 16+36-2231)
Java HotSpot(TM) 64-Bit Server VM (build 16+36-2231, mixed mode, sharing)
linuxmi@linuxmi:~/www.linuxmi.com$ javac -version
javac 16

在某些情况下,安装程序可能无法从Oracle下载Oracle Java 16 .tar.gz归档文件。可能有多个问题:您位于路由器/防火墙后面,阻止了此操作,在下载过程中Internet连接断开,等等。

要解决此问题,您可以通过其他方式(例如,通过Oracle)自行从Oracle下载此文件。通过转到朋友的家,使用带代理的Web浏览器等,然后将下载的Oracle Java 16 .tar.gz文件放在 /var/cache/oracle-jdk16-installer中(如果创建该文件夹,则为root文件夹)不存在),然后按照上述说明从Linux Uprising PPA安装oracle-java16-installer软件包。

这样,Oracle Java 16安装程序将使用本地归档文件,而不是尝试自己下载它。确保从PPA下载的Oracle Java 16 .tar.gz和Oracle Java Installer软件包都是同一版本,否则将无法使用。

如何自动接受Oracle Java 16许可证

下载和安装Oracle Java 16要求用户接受许可证。在某些情况下,例如在自动化脚本中使用它时,您可能希望使用命令自动接受许可证。您可以使用以下方法做到这一点:

echo oracle-java15-installer shared/accepted-oracle-license-v1-2 select true | sudo /usr/bin/debconf-set-selections

如果那不起作用,请尝试以下命令:

echo oracle-java15-installer shared/accepted-oracle-licence-v1-2 boolean true | sudo /usr/bin/debconf-set-selections

发表评论