在 Ubuntu 系统中,Java 的安装路径取决于你是通过哪种方式安装的(例如通过 apt 包管理器、手动安装 Oracle JDK 或 OpenJDK,或者使用 SDKMAN! 等工具)。以下是几种常见情况的查找方法:
update-alternatives 查找(最常用)Ubuntu 通常使用 update-alternatives 系统来管理多个 Java 版本。你可以通过以下命令查看 Java 的安装路径:
update-alternatives --config java
输出示例:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
这里的 Path 就是 Java 可执行文件的路径。Java 的根目录通常是该路径的上两级目录(去掉 /bin/java)。例如:
/usr/lib/jvm/java-11-openjdk-amd64/which 和 readlink 查找如果已经配置了 JAVA_HOME 或 java 命令可用,可以这样查找:
which java
输出可能是:
/usr/bin/java
这只是一个符号链接,继续追踪:
readlink -f /usr/bin/java
输出示例:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
那么 Java 根目录就是:
/usr/lib/jvm/java-11-openjdk-amd64/
/usr/lib/jvm/ 目录通过 apt 安装的 OpenJDK 通常位于 /usr/lib/jvm/ 目录下:
ls /usr/lib/jvm/
输出示例:
java-1.11.0-openjdk-amd64 java-11-openjdk-amd64 java-8-openjdk-amd64
如果你手动下载并安装了 JDK(例如从 Oracle 官网下载),通常安装在自定义目录,如:
/usr/local/java/jdk-17/~/jdk-17/你可以检查环境变量 JAVA_HOME:
echo $JAVA_HOME
如果未设置,可以手动查找:
find / -name "java" 2>/dev/null | grep -v "Permission denied"
(注意:此命令可能需要 sudo 权限,且搜索范围较大)
JAVA_HOME 环境变量找到 Java 路径后,可以将其设置为 JAVA_HOME。例如,如果 Java 安装在 /usr/lib/jvm/java-11-openjdk-amd64,可以在 ~/.bashrc 或 ~/.profile 中添加:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
然后使配置生效:
source ~/.bashrc
apt 安装路径:/usr/lib/jvm//usr/bin/java(符号链接)update-alternatives --config java 或 readlink -f $(which java)如果你能提供更多安装细节(例如是通过 apt 安装的 OpenJDK 还是手动安装的 Oracle JDK),我可以给出更具体的路径。