在 Ubuntu 上遇到 Java 兼容问题,一般集中在 版本不一致、环境变量错误、多个 JDK 冲突、或应用对 Java 版本要求不匹配。下面按常见场景给你一套系统解决方法。
java -version
javac -version
which java
查看已安装的所有 Java:
sudo update-alternatives --list java
sudo apt update
sudo apt install openjdk-8-jdk
sudo apt install openjdk-11-jdk
sudo apt install openjdk-17-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac
选择对应编号即可。
编辑环境变量:
sudo nano /etc/environment
添加或修改:
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
生效:
source /etc/environment
echo $JAVA_HOME
或在用户目录:
nano ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
很多兼容问题是因为 系统 Java ≠ 应用需要 Java
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
$JAVA_HOME/bin/java -jar app.jar
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
./startup.sh
原因:用高版本 JDK 编译,低版本 JRE 运行
解决:
javac -source 8 -target 8
sudo update-alternatives --config java
确保 java 和 javac 一致。
可安装:
sudo apt install openjdk-8-jdk
或从 Adoptium 下载: https://adoptium.net
java -version 正确JAVA_HOME 设置如果你能告诉我:
我可以给你更精准的解决方案。