Ubuntu Java配置全攻略
小樊
38
2025-12-26 08:15:50
Ubuntu Java配置全攻略
一 安装方案总览
- 使用 APT 安装 OpenJDK(推荐):稳定、易维护,适合大多数场景。
- 手动安装 Oracle JDK:需要特定版本或商业支持时使用。
- 使用 SDKMAN! / jEnv 管理多版本:适合开发者频繁切换版本。
- 下表快速对比:
- 方式:APT OpenJDK|适用:服务器与桌面|优点:一键安装、自动依赖|注意:版本以仓库为准
- 方式:Oracle JDK 手动|适用:需特定版本/特性|优点:可精确控制版本|注意:需自行维护与配置
- 方式:SDKMAN!/jEnv|适用:多版本切换频繁|优点:切换方便、生态丰富|注意:需额外安装工具
二 使用APT安装OpenJDK
- 更新索引并安装:
- 安装默认 JDK:sudo apt update && sudo apt install default-jdk
- 安装指定版本(如 OpenJDK 11/17):sudo apt install openjdk-11-jdk 或 sudo apt install openjdk-17-jdk
- 验证安装:
- java -version
- javac -version
- 说明:OpenJDK 为 Ubuntu 官方仓库默认提供,APT 安装是最简便且推荐的方式
三 手动安装Oracle JDK与多版本切换
- 下载并解压:
- 从 Oracle 官网下载 Linux x64 的 .tar.gz 包
- 解压并移动到目标目录:sudo tar -xzf jdk-11.0.11_linux-x64_bin.tar.gz -C /usr/local/(示例)
- 注册到 alternatives(便于切换):
- sudo update-alternatives --install /usr/bin/java java /usr/local/jdk-11.0.11/bin/java 1
- sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk-11.0.11/bin/javac 1
- 选择默认版本:
- sudo update-alternatives --config java
- sudo update-alternatives --config javac
- 验证:java -version、javac -version
- 提示:也可使用 PPA(如 ppa:linuxuprising/java)安装 Oracle JDK,然后用 alternatives 切换
四 环境变量配置与生效
- 方式一(系统级,所有用户):编辑 /etc/environment
- 添加:JAVA_HOME=“/usr/lib/jvm/java-11-openjdk-amd64”
- 使生效:执行 source /etc/environment,或重新登录/重启
- 验证:echo $JAVA_HOME
- 方式二(当前用户):编辑 ~/.bashrc
- 添加:
- export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
- export PATH=$JAVA_HOME/bin:$PATH
- 使生效:source ~/.bashrc
- 说明:
- 多数现代应用只需 JAVA_HOME + PATH;传统项目可能仍引用 CLASSPATH,可按需设置(如:export CLASSPATH=.:$JAVA_HOME/lib)
- 路径中的 java-11-openjdk-amd64 请替换为实际安装路径(可用 update-alternatives --config java 查看)
五 多版本管理与验证测试
- 多版本管理:
- 查看/切换:sudo update-alternatives --config java(必要时对 javac 执行同样操作)
- 适合在同一台机器维护 JDK 8/11/17 等版本
- 版本管理工具(可选):
- SDKMAN!:curl -s “https://get.sdkman.io” | bash,然后 sdk install java 管理多版本
- jEnv:添加 JDK 路径并全局/项目级切换
- 快速验证程序:
- 创建文件 HelloWorld.java:
- public class HelloWorld { public static void main(String[] args) { System.out.println(“Hello, World!”); } }
- 编译运行:
- javac HelloWorld.java
- java HelloWorld
- 常见问题速查:
- “java: command not found”:检查 PATH 是否包含 $JAVA_HOME/bin
- “JAVA_HOME 未设置”:执行 echo $JAVA_HOME 核对路径
- 多版本冲突:用 update-alternatives --config java 统一默认版本