Debian Java环境设置
一 安装 OpenJDK
- 更新索引并安装(以 OpenJDK 11 为例,开发请安装 -jdk 包):
- sudo apt update
- sudo apt install openjdk-11-jdk
- 验证安装:
- java -version
- javac -version
- 其他常见版本(按需选择):openjdk-8-jdk、openjdk-17-jdk;也可安装默认 JDK:sudo apt install default-jdk。
二 设置 JAVA_HOME 与 PATH
- 查找安装路径(Debian 的 OpenJDK 通常在 /usr/lib/jvm/ 下,如:java-11-openjdk-amd64):
- ls /usr/lib/jvm/
- 或查看 alternatives 配置:sudo update-alternatives --config java
- 配置方式一(全局,所有用户):编辑 /etc/environment
- sudo nano /etc/environment
- 添加或修改:JAVA_HOME=“/usr/lib/jvm/java-11-openjdk-amd64”
- 使配置生效:source /etc/environment
- 配置方式二(当前用户):编辑 ~/.bashrc 或 ~/.profile
- echo ‘export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64’ >> ~/.bashrc
- echo ‘export PATH=$JAVA_HOME/bin:$PATH’ >> ~/.bashrc
- 使配置生效:source ~/.bashrc
- 验证:
- echo $JAVA_HOME
- which java && which javac
- java -version && javac -version
三 多版本管理与切换
- 使用 update-alternatives 注册并切换版本:
- 注册命令(示例为 OpenJDK 11 与 8,优先级数值越大优先级越高):
- sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-amd64/bin/java 300
- sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-11-openjdk-amd64/bin/javac 300
- sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-8-openjdk-amd64/bin/java 200
- sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 200
- 交互选择默认版本:sudo update-alternatives --config java(同理可对 javac 执行)
- 切换后验证:java -version、javac -version。
四 手动安装 Oracle JDK 或特定版本(可选)
- 从 Oracle 下载 .tar.gz 包(如:jdk-11_linux-x64_bin.tar.gz),解压至 /usr/local:
- sudo tar -xzf jdk-11_linux-x64_bin.tar.gz -C /usr/local
- sudo mv /usr/local/jdk-11.0.x /usr/local/jdk-11
- 配置环境变量(全局或用户级,二选一):
- 全局:在 /etc/environment 设置 JAVA_HOME=“/usr/local/jdk-11”,并追加 PATH=“$PATH:$JAVA_HOME/bin”
- 用户:在 ~/.bashrc 添加
- export JAVA_HOME=/usr/local/jdk-11
- export PATH=$JAVA_HOME/bin:$PATH
- 使配置生效并验证:source 相应文件;java -version、javac -version。
五 常见问题排查
- 命令未找到或版本不对:检查 PATH 是否包含 $JAVA_HOME/bin,并确认 JAVA_HOME 指向正确的 JDK 目录(而非 JRE)。
- 环境变量不生效:确认修改的是正确的配置文件(全局用 /etc/environment,用户用 ~/.bashrc 或 ~/.profile),并执行 source 使其生效;必要时重新登录终端或重启会话。
- 多版本冲突:使用 update-alternatives --config java/javac 统一管理,确保 java 与 javac 版本一致。