在 Linux 上安装 Java 17:从基础到最佳实践
简介
Java 是一种广泛应用于各种软件开发领域的编程语言,Java 17 作为长期支持(LTS)版本,带来了许多新特性和性能优化。在 Linux 系统上安装 Java 17 是许多开发者和系统管理员需要掌握的技能。本文将详细介绍在 Linux 上安装 Java 17 的基础概念、使用方法、常见实践以及最佳实践,帮助读者轻松完成安装并高效使用。
目录
- 基础概念
- 使用方法
- 基于包管理器安装
- 手动安装
- 常见实践
- 设置环境变量
- 验证安装
- 最佳实践
- 选择合适的安装方式
- 管理多个 Java 版本
- 小结
- 参考资料
基础概念
Java 17 是 Java 编程语言的一个版本,它在语法、性能、安全性等方面都有一定的改进。长期支持版本意味着它会在较长时间内获得官方的维护和更新,为企业级应用和长期项目提供稳定的运行环境。
在 Linux 系统中,安装 Java 17 可以通过不同的方式实现,主要分为基于系统包管理器和手动安装两种。包管理器安装方式简单快捷,适合大多数用户;手动安装则更加灵活,适合对安装过程有更高要求的用户。
使用方法
基于包管理器安装
不同的 Linux 发行版有不同的包管理器,以下以常见的几个发行版为例:
Ubuntu
- 更新系统包列表:
sudo apt update
- 安装 Java 17:
sudo apt install openjdk-17-jdk
Fedora
- 更新系统包列表:
sudo dnf update
- 安装 Java 17:
sudo dnf install java-17-openjdk-devel
CentOS
- 首先,需要启用 EPEL 仓库(Extra Packages for Enterprise Linux):
sudo yum install epel-release
- 更新系统包列表:
sudo yum update
- 安装 Java 17:
sudo yum install java-17-openjdk-devel
手动安装
-
下载 Java 17 安装包 从 Oracle 官方网站或 AdoptOpenJDK 等开源镜像站点下载适合你 Linux 系统的 Java 17 安装包。例如,从 AdoptOpenJDK 下载的安装包通常是一个压缩文件,如
openjdk-17_linux-x64_bin.tar.gz
。 -
解压安装包 将下载的压缩包解压到你希望安装 Java 的目录,例如
/usr/local/java
:
sudo mkdir -p /usr/local/java
sudo tar -zxvf openjdk-17_linux-x64_bin.tar.gz -C /usr/local/java
- 设置环境变量
编辑
~/.bashrc
文件,添加以下内容:
export JAVA_HOME=/usr/local/java/jdk-17.0.xx
export PATH=$JAVA_HOME/bin:$PATH
其中 xx
是具体的 Java 17 版本号。保存文件后,执行以下命令使设置生效:
source ~/.bashrc
常见实践
设置环境变量
环境变量对于 Java 的正常运行非常重要。除了上述手动安装时设置 JAVA_HOME
和 PATH
环境变量外,在基于包管理器安装时,也可以检查和确认环境变量是否正确设置。例如,在 Ubuntu 上安装后,可以通过以下命令检查 JAVA_HOME
:
echo $JAVA_HOME
如果没有输出,需要手动设置。编辑 ~/.bashrc
文件,添加如下内容:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
保存并执行 source ~/.bashrc
使设置生效。
验证安装
安装完成后,可以通过以下命令验证 Java 17 是否正确安装:
java -version
如果安装成功,将会输出类似以下内容:
openjdk version "17.0.xx" 202x-xx-xx
OpenJDK Runtime Environment (build 17.0.xx+xx)
OpenJDK 64-Bit Server VM (build 17.0.xx+xx, mixed mode, sharing)
最佳实践
选择合适的安装方式
如果希望快速安装并获得系统级的支持和更新,基于包管理器安装是最佳选择。这种方式会自动处理依赖关系,并且在系统更新时可以方便地更新 Java 版本。
如果需要对安装过程有更多控制,例如安装特定版本或自定义安装路径,手动安装更为合适。手动安装也适合在没有网络连接或包管理器不可用的情况下进行。
管理多个 Java 版本
在开发过程中,可能需要同时使用多个 Java 版本。可以通过工具如 jenv
或 sdkman
来管理多个 Java 版本。
以 sdkman
为例:
1. 安装 sdkman
:
curl -s "https://get.sdkman.io" | bash
- 重启终端或执行以下命令使
sdkman
生效:
source "$HOME/.sdkman/bin/sdkman-init.sh"
- 安装不同版本的 Java:
sdk install java 17.0.xx-openjdk
sdk install java 11.0.xx-openjdk
- 切换 Java 版本:
sdk use java 17.0.xx-openjdk
小结
在 Linux 上安装 Java 17 可以通过基于包管理器或手动安装两种方式实现。基于包管理器安装简单快捷,适合大多数用户;手动安装则更灵活,适合有特定需求的用户。安装完成后,正确设置环境变量并验证安装是确保 Java 17 正常运行的关键。同时,选择合适的安装方式和管理多个 Java 版本的方法可以提高开发效率。