如何在Debian 11安装Java

2023年 7月 20日 64.5k 0

Java是用于构建各种应用程序和系统的最流行的编程语言之一。Java可以在所有主流的操作系统和设备上运行。您可以在手机和游戏机上找到用Java开发的应用程序。

Java有多种不同的实现。Open JDK和Oracle Java是Java的两个主要实现,它们之间几乎没有区别,只是Oracle Java具有一些附加的商业功能。

Oracle Java许可证仅允许该软件的非商业使用,例如个人使用和开发使用。

默认的Debian 11软件源包含两个OpenJDK软件包:Java Runtime Environment JRE和Java Development Kit JDK。

JRE由Java虚拟机JVM,类和二进制文件组成,可让您运行Java程序。JDK包含构建Java应用程序所需的JRE以及开发/调试工具和库。

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

安装 OpenJDK 11

在撰写本文时,OpenJDK 11是Java的最新长期支持版本LTS。它也是Debian 11中默认的Java开发和运行时。

以root或具有sudo权限的用户运行以下命令,以更新软件包索引并安装Open JDK 11 JDK软件包。

如果仅需要JRE,则安装openjdk-11-jre。如果你为了使Java运行时占用空间最少,请安装openjdk-11-jdk-headless

安装完成后,您可以运行命令java -version打印java版本号。至此,您已经在Debian 11安装Java 11。JRE包含在JDK软件包中。

sudo apt update
sudo apt install openjdk-11-jdk
java -version

安装 OpenJDK 17

OpenJDK 17是Java的最新版本。如果您的应用程序可以在Java 11运行,则可以运行命令sudo apt install openjdk-17-jdk进行安装。

如果仅需要JRE,则安装openjdk-17-jre。如果你为了使Java运行时占用空间最少,请安装openjdk-17-jdk-headless

安装完成后,您可以运行命令java -version打印java版本号。至此,您已经在Debian 11安装Java 17。JRE包含在JDK软件包中。

sudo apt update
sudo apt install openjdk-17-jdk
java -version

安装 OpenJDK 8

OpenJDK 8在Debian 11将不再提供支持,你可以选择方案有两种,一种是在Debian 10安装 OpenJDK 8。

如果你是刚开始编写应用,我们建议你安装OpenJDK 11。因为OpenJDK 11为Java带来更多的新特性。

最后一种不建议的方案是手动安装Oracle  java 1.8。然后设置环境JAVA_HOME环境变量,将Java和javac二进制可执行文件添加到PATH环境变量。

如何在Debian 10 安装Java

设置Java 默认版本

如果您的Debian 11安装多个Java版本,则可以运行命令sudo update-alternatives --config java检查将哪个版本设置为默认版本。

命令将会打印一个列表,其中*开头的行表示默认使用的Java版本。要查看当前的Java版本。你可以运行命令java -version检查当前使用的版本。

如果需要更改默认版本,请运行命令sudo update-alternatives --config java

将为您提供所有已安装的Java版本的列表。 输入您要用作默认版本的数字,然后按Enter

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/java-11-openjdk-amd64/bin/java      1111      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
Press  to keep the current choice[*], or type selection number: 

除了更改默认的java的版本之外,你还需要更改javac的默认版本,也就是java编译器的版本。建议java和javac使用相同的版本号,避免因版本导致的问题。

修改javac默认版本与修改默认java版本类似。可以运行命令sudo update-alternatives --config javac更改javac的版本。

同样,命令将为您提供所有已安装的javac版本的列表。 输入您要用作默认版本的版本号,然后按Enter

sudo update-alternatives --config javac

JAVA HOME 环境变量

某些Java应用程序使用JAVA_HOME环境变量来确定Java安装位置。要设置JAVA_HOME变量。

请先运行命令sudo update-alternatives --config java查找Java安装路径。

在配置JAVA_HOME环境变量时,你应该始终使用设置为默认java版本的路径,如果设置为其它版本路径,就会带来因版本错误的问题。

在此教程中,安装路径分别是OpenJDK 11位于/usr/lib/jvm/java-11-openjdk-amd64/bin/java

OpenJDK 17位于/usr/lib/jvm/java-17-openjdk-amd64/jre/bin/java

找到默认版本Java的安装路径后,使用你喜欢的文本编辑器打开/etc/environment文件。 /etc/environment是系统范围的配置文件,所有用户都可以使用。

在本教程中我们使用vim编辑文件/etc/environment。假设您要设置JAVA_HOME指向OpenJDK 11。

sudo vim /etc/environment
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
/etc/environment

现在已修改/etc/environment文件,保存文件并退出vim。

要使更改在您当前的shell会话生效,您可以注销重新登录或者运行source命令加载环境变量。

要验证是否正确设置JAVA_HOME环境变量,可以运行命令echo $JAVA_HOME,您应该看到Java安装的路径。

source /etc/environment
echo $JAVA_HOME

卸载 Java

您可以使用apt像卸载任何其他软件包一样卸载Java。例如,要卸载jdk软件包,请输入:

sudo apt remove openjdk-11-jdk

结论

默认的Debian 11软件源中提供OpenJDK 11和OpenJDK 17,可以使用apt软件包管理器进行安装。如有任何疑问,请随时发表评论。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论