麒麟os上“java: command not found”需先确认架构(aarch64/x86_64)和包管理器类型(apt/yum/dnf),再选择在线安装openjdk或离线解压tar.gz并配置java_home与path,最后验证java/javac版本一致且路径正确。

在麒麟OS上运行Java程序或启动Spring Boot服务时提示“java: command not found”,说明系统既未安装JDK,也未配置JAVA_HOME与PATH环境变量。必须先确认架构和包管理器类型,再选择对应安装路径,否则会因架构错配导致“没有那个文件或目录”错误。
确认系统架构与包管理器类型
执行uname -m:若输出【aarch64】,则为ARM64架构(鲲鹏、飞腾);若输出【x86_64】,则为AMD64/x86架构(海光、兆芯)。
执行cat /etc/os-release:查看ID字段——含【kylin-ubuntu】或【ubuntu】为APT系;ID为【kylin】且能执行yum或dnf命令,则为YUM/DNF系。
执行java -version与javac -version:若均报“command not found”,说明未装JDK;若只有java有输出而javac报错,说明只装了JRE,不是完整JDK。
在线安装OpenJDK并自动配置
该方法适用于网络通畅、需快速部署标准LTS版本JDK的场景,由系统源自动处理依赖及基础环境变量,多数情况下无需手动编辑配置文件。
APT系系统执行sudo apt update更新软件包索引;YUM系系统执行sudo yum makecache或sudo dnf makecache同步元数据。
APT系安装OpenJDK 11(推荐稳定版本):sudo apt install -y openjdk-11-jdk;YUM系安装OpenJDK 17:sudo yum install -y java-17-openjdk-devel或sudo dnf install -y java-17-openjdk-devel。
验证安装结果:java -version与javac -version应输出一致的openjdk版本号;部分新版本镜像中echo $JAVA_HOME可能已预设,若为空则需后续手动配置。
离线安装OpenJDK并手动配置系统级环境变量
该方法适用于无外网环境、需指定精确小版本(如JDK 17.0.11_9)、或多台服务器统一部署的场景,要求严格匹配CPU架构并全局配置JAVA_HOME与PATH。
第一步:根据uname -m结果,下载对应架构的Adoptium Temurin OpenJDK tar.gz包(例如ARM64用户必须下载*aarch64_linux_hotspot_17.0.11_9.tar.gz)。
第二步:将压缩包上传至/opt/目录,执行sudo tar -zxvf jdk-*.tar.gz -C /opt/解压。
第三步:创建版本无关软链接便于升级:sudo ln -s /opt/jdk-17.0.11_9 /opt/jdk。这一步不能跳过,否则后续升级需反复修改配置文件。
Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。
第四步:编辑系统级配置文件sudo vim /etc/profile,在末尾新增以下三行:export JAVA_HOME=/opt/jdkexport JRE_HOME=${JAVA_HOME}/jreexport PATH=${JAVA_HOME}/bin:$PATH
第五步:使配置立即生效:source /etc/profile。注意:此命令仅对当前终端生效,新开终端会自动加载该文件。
第六步:验证配置:echo $JAVA_HOME应输出/opt/jdk;java -version应显示对应版本信息;which java应返回/opt/jdk/bin/java。
用户级环境变量配置(仅当前用户生效)
当您不希望影响其他账户,或仅需为开发账号配置Java路径时,修改~/.bashrc是最安全的选择,无需管理员权限,每次打开新终端自动加载。
执行nano ~/.bashrc打开配置文件,将光标移至文件最末尾,另起一行添加:export JAVA_HOME=/opt/jdkexport PATH=$JAVA_HOME/bin:$PATH
按Ctrl+O保存 → 按Ctrl+X退出nano编辑器。
执行source ~/.bashrc使更改立即生效。
新开一个终端窗口,运行echo $JAVA_HOME确认路径已持久化存在。
验证Java安装与环境变量是否生效
执行java -version与javac -version,两者的输出必须完全一致,且包含【openjdk】字样。
执行echo $JAVA_HOME,输出应为JDK实际安装路径(如/opt/jdk或/usr/lib/jvm/java-11-openjdk-amd64)。
执行which java,返回路径必须指向$JAVA_HOME/bin/java,否则PATH未正确写入。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










