如何在Debian9上使用Apt安装Java

来自菜鸟教程
跳转至:导航、​搜索

介绍

很多软件都需要 Java 和 JVM(Java 的虚拟机),包括 TomcatJettyGlassfishCassandra詹金斯

在本指南中,您将使用 apt 安装各种版本的 Java Runtime Environment (JRE) 和 Java Developer Kit (JDK)。 您将安装 OpenJDK 以及来自 Oracle 的官方软件包。 然后,您将选择要用于项目的版本。 完成后,您将能够使用 JDK 开发软件或使用 Java Runtime 运行软件。

先决条件

要遵循本教程,您将需要:

安装默认 JRE/JDK

安装 Java 最简单的选择是使用 Debian 打包的版本。 默认情况下,Debian 9 包含 Open JDK,它是 JRE 和 JDK 的开源变体。

该软件包将安装与 Java 8 兼容的 OpenJDK 1.8 版。 Java 8 是当前的长期支持版本,仍然受到广泛支持,但公共维护将于 2019 年 1 月结束。

要安装这个版本,首先更新包索引:

sudo apt update

接下来,检查是否已经安装了 Java:

java -version

如果当前未安装 Java,您将看到以下输出:

Output-bash: java: command not found

执行以下命令安装 OpenJDK:

sudo apt install default-jre

此命令将安装 Java 运行时环境 (JRE)。 这将允许您运行几乎所有的 Java 软件。

使用以下命令验证安装:

java -version

您将看到以下输出:

Outputopenjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1~deb9u1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

除了 JRE 之外,您可能还需要 Java 开发工具包 (JDK) 才能编译和运行一些特定的基于 Java 的软件。 要安装 JDK,请执行以下命令,该命令还将安装 JRE:

sudo apt install default-jdk

通过检查 Java 编译器 javac 的版本来验证是否安装了 JDK:

javac -version

您将看到以下输出:

Outputjavac 1.8.0_181

接下来,我们来看看如何安装Oracle官方的JDK和JRE。

安装 Oracle JDK

如果您想安装 Oracle JDK,它是 Oracle 分发的正式版本,您需要为您想要使用的版本添加一个新的包存储库。

首先,安装 software-properties-common 软件包,它添加了 apt-get-repository 命令,您将使用该命令将其他存储库添加到源列表。

安装 software-properties-common

sudo apt install software-properties-common

安装好这个之后,您就可以安装 Oracle 的 Java。

安装 Oracle Java 8

要安装当前的长期支持版本 Java 8,首先添加其包存储库:

sudo add-apt-repository ppa:webupd8team/java

添加存储库时,您将看到如下消息:

output Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Java files in this PPA.

Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html

Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html

The PPA supports Ubuntu 18.04, 17.10, 16.04, 14.04 and 12.04.

More info (and Ubuntu installation instructions):
- for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

Debian installation instructions:
- Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html

For Oracle Java 10, see a different PPA: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html
 More info: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Press [ENTER] to continue or ctrl-c to cancel adding it

ENTER 继续。 它将尝试导入一些 GPG 签名密钥,但找不到任何有效的签名密钥:

Outputgpg: keybox '/tmp/tmpgt9wdvth/pubring.gpg' created
gpg: /tmp/tmpgt9wdvth/trustdb.gpg: trustdb created
gpg: key C2518248EEA14886: public key "Launchpad VLC" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no valid OpenPGP data found.

执行以下命令手动添加存储库源的 GPG 密钥:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C2518248EEA14886

然后更新你的包列表:

sudo apt update

软件包列表更新后,安装 Java 8:

sudo apt install oracle-java8-installer

您的系统将从 Oracle 下载 JDK 并要求您接受许可协议。 接受协议,JDK 将安装。

安装 Oracle Java 10

要安装 Oracle Java 10,首先添加其存储库:

sudo add-apt-repository ppa:linuxuprising/java

您将看到此消息:

Output Oracle Java 10 installer

Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 10 (JDK 10), so a working Internet connection is required.

The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java

Created for users of https://www.linuxuprising.com/

Issues or suggestions? Leave a comment here: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html
 More info: https://launchpad.net/~linuxuprising/+archive/ubuntu/java
Press [ENTER] to continue or ctrl-c to cancel adding it

ENTER 继续安装。 与 Java 8 一样,您会看到有关无效签名密钥的消息:

Outputgpg: keybox '/tmp/tmpvuqsh9ui/pubring.gpg' created
gpg: /tmp/tmpvuqsh9ui/trustdb.gpg: trustdb created
gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no valid OpenPGP data found.

执行此命令以导入必要的密钥:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

然后更新你的包列表:

sudo apt update

软件包列表更新后,安装 Java 10:

sudo apt install oracle-java10-installer

您的系统将从 Oracle 下载 JDK 并要求您接受许可协议。 接受协议,JDK 将安装。

现在让我们看看如何选择要使用的 Java 版本。

管理 Java

您可以在一台服务器上安装多个 Java。 您可以使用 update-alternatives 命令配置在命令行上使用的默认版本。

sudo update-alternatives --config java

如果您已在本教程中安装了所有版本的 Java,则输出如下所示:

OutputThere are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-10-oracle/bin/java             1091      auto mode
* 1            /usr/lib/jvm/java-10-oracle/bin/java             1091      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode

Press <enter> to keep the current choice[*], or type selection number:

选择与 Java 版本关联的数字以将其用作默认值,或按 ENTER 保留当前设置。

您可以对其他 Java 命令执行此操作,例如编译器 (javac):

sudo update-alternatives --config javac

可以运行此命令的其他命令包括但不限于:keytooljavadocjarsigner

接下来让我们设置 JAVA_HOME 环境变量。

设置 JAVA_HOME 环境变量

许多使用 Java 编写的程序使用 JAVA_HOME 环境变量来确定 Java 安装位置。

要设置此环境变量,首先要确定 Java 的安装位置。 再次使用 update-alternatives 命令:

sudo update-alternatives --config java

此命令显示 Java 的每个安装及其安装路径:

Output  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-10-oracle/bin/java             1091      auto mode
* 1            /usr/lib/jvm/java-10-oracle/bin/java             1091      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode

在这种情况下,安装路径如下:

  • Oracle Java 10 位于 /usr/lib/jvm/java-10-oracle/jre/bin/java
  • Oracle Java 8 位于 /usr/lib/jvm/java-8-oracle/jre/bin/java
  • OpenJDK 8 位于 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

这些路径显示 java 可执行文件的路径。

复制您首选安装的路径,不包括尾随的 bin/java 组件。 然后使用 nano 或您喜欢的文本编辑器打开 /etc/environment

sudo nano /etc/environment

在此文件的末尾,添加以下行,确保将突出显示的路径替换为您自己复制的路径:

/etc/环境

JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre"

修改此文件将为系统上的所有用户设置 JAVA_HOME 路径。

保存文件并退出编辑器。

现在重新加载此文件以将更改应用于当前会话:

source /etc/environment

验证是否设置了环境变量:

echo $JAVA_HOME

您将看到刚刚设置的路径:

Output/usr/lib/jvm/java-8-oracle/jre

其他用户将需要执行命令 source /etc/environment 或注销并重新登录以应用此设置。

结论

在本教程中,您安装了多个 Java 版本并学习了如何管理它们。 您现在可以安装在 Java 上运行的软件,例如 Tomcat、Jetty、Glassfish、Cassandra 或 Jenkins。