如何在Debian 10 Linux上安装Java

时间:2020-03-05 15:25:10  来源:igfitidea点击:

在本教程中,我们将说明如何在Debian 10 Linux上安装Java(OpenJDK)。

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程序包。

  • 首先更新软件包列表并安装必要的依赖关系,以通过HTTPS添加新存储库:
sudo apt updatesudo apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common
  • 使用以下wget命令导入存储库的GPG密钥:
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add 
  • 将AdoptOpenJDK APT存储库添加到系统中:
sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
  • 启用存储库后,请使用以下命令更新apt源并安装Java 8:
sudo apt updatesudo apt install adoptopenjdk-8-hotspot
  • 最后,通过检查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 <enter> to keep the current choice[*], or type selection number:

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

'JAVA_HOME'环境变量

某些Java应用程序使用“ JAVA_HOME”环境变量来确定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

我们可以像使用apt安装的任何其他软件包一样卸载Java。

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

sudo apt remove default-jdk