Java是用于构建各种应用程序和系统的最流行的编程语言之一。用Java开发的应用程序具有可伸缩性,灵活性和可维护性。

在你开始之前

Java有两种不同的实现,OpenJDK和Oracle Java,它们之间几乎没有区别,只是Oracle Java具有一些附加的商业功能。Oracle Java许可仅允许该软件的非商业使用,例如个人使用和开发使用。

默认的Debian 10存储库包括两个不同的Java软件包:Java Runtime Environment(JRE)和Java Development Kit(JDK)。JRE包括Java虚拟机(JVM),类和二进制文件,使您可以运行Java程序。Java开发人员应安装JDK,其中包括JRE以及构建Java应用程序所需的开发/调试工具和库。

如果不确定要安装哪个Java软件包,通常的建议是坚持使用默认的OpenJDK(JDK 11)版本。某些基于Java的应用程序可能需要特定版本的Java,因此您应查阅应用程序文档。

安装OpenJDK 11

Java Platform的开源实现OpenJDK 11是Debian 10 Buster中的默认Java开发和运行时。

以具有sudo特权或root用户的身份运行以下命令以更新软件包索引并安装OpenJDK 11 JDK软件包:

sudo apt updatesudo apt install default-jdk

安装完成后,您可以通过检查Java版本来进行验证:

java -version

输出应如下所示:

openjdk version \"11.0.3\" 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-post-Debian-5)
OpenJDK 64-Bit Server VM (build 11.0.3+7-post-Debian-5, mixed mode, sharing)

而已!至此,您已经在Debian系统上成功安装了Java。

JRE包含在JDK软件包中。如果仅需要JRE,请安装default-jre软件包。

安装OpenJDK 8

在撰写本文时,以前的Java LTS版本8在官方的Debian Buster存储库中不可用。

我们将启用AdoptOpenJDK存储库,该存储库提供预构建的OpenJDK软件包。

  1. 首先更新软件包列表并安装必要的依赖关系,以通过HTTPS添加新存储库:
    sudo apt updatesudo apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common
  2. 使用以下wget命令导入存储库的GPG密钥:
    wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
  3. 将AdoptOpenJDK APT存储库添加到您的系统中:
    sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
  4. 启用存储库后,使用以下命令更新apt源并安装Java 8:
    sudo apt updatesudo apt install adoptopenjdk-8-hotspot
  5. 最后,通过检查Java版本来验证安装:
    java -version

    输出应如下所示:

    openjdk version \"1.8.0_212\"
    OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_212-b04)
    OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.212-b04, mixed mode)

设置默认版本

如果您在Debian系统上安装了多个Java版本,则可以通过键入以下命令检查将哪个版本设置为默认版本:

java -version

要更改默认版本,请使用以下update-alternatives命令:

sudo 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          1111      auto mode
  1            /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java   1081      manual mode
  2            /usr/lib/jvm/java-11-openjdk-amd64/bin/java          1111      manual mode


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

您将看到所有已安装Java版本的列表。输入您要用作默认版本的版本号,然后按Enter

JAVA_HOME 环境变量

JAVA_HOME 环境变量是由一些Java应用程序,以确定Java安装位置。

要设置JAVA_HOME环境变量,请使用以下update-alternatives命令查找Java的安装位置:

sudo update-alternatives --config java

在此示例中,安装路径如下:

  • OpenJDK 11位于 /usr/lib/jvm/java-11-openjdk-amd64/bin/java
  • OpenJDK 8位于 /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java

找到首选的Java安装路径后,打开/etc/environment文件:

sudo nano /etc/environment

假设要设置JAVA_HOME为OpenJDK 11,请在文件末尾添加以下行:

/ etc /环境

JAVA_HOME=\"/usr/lib/jvm/java-11-openjdk-amd64\"

为了使更改在当前的shell上生效,您可以注销并登录或运行以下源命令:

source /etc/environment

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

echo $JAVA_HOME

您应该看到Java安装的路径:

/usr/lib/jvm/java-11-openjdk-amd64

/etc/environment是系统范围的配置文件,供所有用户使用。如果要JAVA_HOME基于每个用户设置变量,请将该行添加到.bashrc用户登录时加载的或任何其他配置文件中。

卸载Java

您可以像与随安装的任何其他软件包一样卸载Java apt

例如,要卸载default-jdk软件包,只需运行:

sudo apt remove default-jdk