Java是用于构建各种应用程序和系统的最流行的编程语言之一。

Java有两种不同的实现,Oracle Java和OpenJDK。 OpenJDK是Java平台的开源实现。 Oracle Java具有一些附加的商业功能和许可证,仅允许非商业用途,例如个人或开发用途。

本指南介绍了如何在运行了最新Raspbian操作系统的Raspberry Pi上安装Java(OpenJDK)。

标准的Raspbian存储库包括两个不同的Java软件包:Java Runtime Environment(JRE)和Java Development Kit(JDK)。 JRE包括Java虚拟机(JVM),类和二进制文件,使您可以运行Java程序。 JDK由JRE以及构建Java应用程序所需的开发/调试工具和库组成。

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

在Raspberry Pi上安装Java 11

OpenJDK 11是最新的Raspbian操作系统中的默认Java开发和运行时,它基于Debian 10 Buster。

运行以下命令在您的Raspberry Pi上安装OpenJDK 11 JDK:

sudo apt update

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

java -version

输出应如下所示:

openjdk version "11.0.5" 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Raspbian-1deb10u1)
OpenJDK Server VM (build 11.0.5+10-post-Raspbian-1deb10u1, mixed mode)

就是这样! 您已经在Pi上成功安装了Java,就可以开始使用它了。

在Raspberry Pi上安装Java 8

以前的Java LTS版本8仍受支持并广泛使用。 如果您的应用程序需要Java 8,请输入以下内容进行安装:

sudo apt update

通过打印 Java版本验证安装是否正确:

java -version

输出应如下所示:

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1+rpi1-b01)
OpenJDK Client VM (build 25.212-b01, mixed mode)

设置默认版本

如果您的Pi上安装了多个Java版本,请运行java -version命令以检查默认版本:

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-armhf/bin/java      1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-armhf/bin/java      1111      manual mode
  2            /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/java   1081      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-armhf/bin/java
  • OpenJDK 8位于/usr/lib/jvm/java-8-openjdk-armhf/jre/bin/java

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

sudo nano /etc/environment

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

/etc/environment

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-armhf/bin/java"

要使更改在您当前的Shell上生效,您可以注销并登录或运行以下 source 命令:

source /etc/environment

要验证是否设置了JAVA_HOME变量,请输入:

echo $JAVA_HOME

您应该会看到Java 11二进制文件的路径:

/usr/lib/jvm/java-11-openjdk-armhf/bin/java

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

卸载Java

您使用apt可以像安装其他软件包一样卸载Java。

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

sudo apt remove default-jdk

结论

默认的Raspbian存储库中提供了OpenJDK的最新LTS版本,并且安装是一项简单明了的任务。

如果您有任何问题,请随时发表评论。