当前位置:首页>Linux>Linux JDK 安装部署:APT仓库/手动包双方案,覆盖环境配置与验证

Linux JDK 安装部署:APT仓库/手动包双方案,覆盖环境配置与验证

  • 2026-10-11 05:51:24
Linux JDK 安装部署:APT仓库/手动包双方案,覆盖环境配置与验证

不管你是刚装完Linux要跑Java应用,还是要搭开发环境,这两个方案选一个就行,覆盖主流发行版。

APT仓库快速装OpenJDK(推荐)

这个方案适合Ubuntu/Debian系,不用手动下包、配软链接,一步到位。

先更新仓库索引,避免装到旧版本。

sudo apt update

安装默认OpenJDK,当前Ubuntu 22.04/24.04默认是OpenJDK 17 LTS,够用了。

sudo apt install -y default-jdk

如果要指定版本,比如OpenJDK 11或者21,改后面的包名就行。

# 安装OpenJDK 11
sudo apt install -y openjdk-11-jdk
# 安装OpenJDK 21
sudo apt install -y openjdk-21-jdk

CentOS/RHEL系也能用yum/dnf装,命令差不多,包名是java-17-openjdk-devel这种,加上devel才会有javac编译器。

sudo dnf install -y java-17-openjdk-devel
手动下载解压Oracle/OpenJDK

适合需要指定具体小版本、或者要用Oracle JDK商业特性的情况。Oracle JDK要注册账号,嫌麻烦可以去下OpenJDK的tar.gz包,比如Adoptium Temurin。

先检查系统有没有旧Java,有的话可以留着后面用update-alternatives切换,也可以先卸载。

java -version

创建统一的JVM存放目录,比随便放/usr/local更规范。

sudo mkdir -p /usr/lib/jvm

把下载好的tar.gz包传到服务器,比如传到~/Downloads,然后解压到刚才的目录。记得把jdk-17.0.11换成你自己的文件名。

cd ~/Downloads
sudo tar -xvzf jdk-17.0.11_linux-x64_bin.tar.gz -C /usr/lib/jvm

配置环境变量,推荐全系统级的/etc/profile,所有用户都能用。别用/etc/environment,它不支持$PATH这种shell变量扩展。

sudo vim /etc/profile

跳到文件末尾,按i插入,加上这几行。JAVA_HOME要指向你解压后的JDK根目录,不是bin目录。

# Java环境变量
export JAVA_HOME=/usr/lib/jvm/jdk-17.0.11
export PATH=$JAVA_HOME/bin:$PATH
# 旧版JDK(1.5之前)需要CLASSPATH,新版可以不加,但有的老应用可能依赖
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

按Esc,输入:wq保存退出,然后让配置立即生效。

source /etc/profile
验证安装与多版本切换

验证必须做两个,java是运行环境,javac是编译器,都要有才行。

java -version
javac -version

再写个HelloWorld确认能跑通。

mkdir ~/java-test && cd ~/java-test
vim HelloWorld.java

输入简单的代码,保存退出。

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Linux Java!");
    }
}

编译运行,应该能看到输出。

javac HelloWorld.java
java HelloWorld

如果装了多个版本,用update-alternatives切换。先把手动装的加进去,优先级随便给,数字大的优先级高。

# 添加java
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-17.0.11/bin/java 2
# 添加javac
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-17.0.11/bin/javac 2

列出所有可选版本,按提示输入序号切换。

sudo update-alternatives --config java
sudo update-alternatives --config javac
常见问题

遇到权限不足,要么命令前加sudo,要么改目录权限。

sudo chmod -R 755 /usr/lib/jvm

环境变量配置后还是提示java: command not found,先确认echo JAVA_HOME/bin,再重新source一次,或者重启终端试试。

echo $PATH
source /etc/profile

最新文章

随机文章