温馨提示×

Linux中Java版本如何选择与安装

小樊
42
2025-09-29 07:53:10
栏目: 编程语言

一、Linux下Java版本选择指南

  1. 根据项目需求选择
    • 新项目:优先选择最新的长期支持(LTS)版本(如OpenJDK 17、Oracle JDK 17),这类版本提供3年以上安全更新与性能优化,适合长期维护的项目。
    • 旧项目:若项目依赖旧框架(如Spring Boot 2.x)或遗留代码,建议使用Java 8(LTS版本),避免兼容性问题。
  2. Oracle JDK与OpenJDK对比
    • Oracle JDK:商业软件,提供专业支持(如Java Flight Recorder、Mission Control),适合企业级应用;需付费获取长期支持版本。
    • OpenJDK:开源免费,由社区维护,功能与Oracle JDK高度一致(除少数专有工具),是Linux发行版(如Ubuntu、CentOS)的默认选择,适合个人开发或开源项目。
  3. 版本兼容性考量
    • 确保Java版本符合应用程序的最低要求(如某些框架要求Java 11及以上);
    • 关注JVM特性(如Java 11移除了Nashorn JavaScript引擎,Java 17引入了密封类),避免因版本升级导致代码失效。

二、Linux下Java安装步骤

1. 使用包管理器安装(推荐,适合新手)

包管理器可自动处理依赖关系,适用于大多数Linux发行版:

  • Debian/Ubuntu(apt)
    更新包列表后,安装指定版本(如OpenJDK 11):
    sudo apt update sudo apt install openjdk-11-jdk 
  • CentOS/RHEL(yum/dnf)
    使用yum(CentOS 7及以下)或dnf(CentOS 8及以上)安装:
    sudo yum install java-11-openjdk-devel # CentOS 7 sudo dnf install java-11-openjdk-devel # CentOS 8+/RHEL 8+ 

安装完成后,通过java -version验证是否成功。

2. 手动安装(适合需要特定版本)

若需要Oracle JDK或特定版本的OpenJDK,可通过以下步骤手动安装:

  • 下载JDK:从Oracle官网(如JDK 17)或OpenJDK官网(如AdoptOpenJDK)下载Linux版压缩包(如jdk-17_linux-x64_bin.tar.gz)。
  • 解压与移动
    tar -xzf jdk-17_linux-x64_bin.tar.gz # 解压 sudo mv jdk-17 /usr/local/ # 移动到标准目录 
  • 配置环境变量:编辑~/.bashrc(用户级)或/etc/profile(系统级),添加以下内容:
    export JAVA_HOME=/usr/local/jdk-17 # 指向JDK安装目录 export PATH=$JAVA_HOME/bin:$PATH # 将Java命令加入PATH 
    使配置生效:source ~/.bashrc

3. 使用Java版本管理工具(适合多版本切换)

若需要频繁切换Java版本,可使用SDKMAN(简单易用)或jEnv(支持版本分组):

  • SDKMAN安装
    curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh" 
    安装指定版本(如OpenJDK 11、17):
    sdk install java 11.0.18-open # 安装OpenJDK 11 sdk install java 17.0.6-open # 安装OpenJDK 17 
    切换默认版本:sdk default java 17.0.6-open

三、多版本Java切换方法

1. 使用update-alternatives(系统自带工具)

适用于手动安装或包管理器安装的多个版本:

  • 注册Java命令:为每个版本添加替代项(以JDK 8、11为例):
    sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-8-openjdk-amd64/bin/java 1 sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-amd64/bin/java 2 
  • 切换版本:交互式选择默认版本:
    sudo alternatives --config java 
    输入对应编号即可切换。

2. 使用版本管理工具切换

  • SDKMAN:通过use命令临时切换(仅当前终端有效):
    sdk use java 11.0.18-open 
    或通过default命令设置永久默认版本。

四、验证安装与配置

  • 检查Java版本:运行java -version,输出应显示当前默认版本的JVM信息(如openjdk version "17.0.6")。
  • 检查编译器版本:运行javac -version,确认Java编译器版本与运行时一致。
  • 编写测试程序:创建HelloWorld.java,内容如下:
    public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, Linux Java World!"); } } 
    编译并运行:
    javac HelloWorld.java java HelloWorld 
    若输出`Hello, Linux Java World!”,则说明环境配置成功。

0