Manjaro编译安装Elasticsearch时Java版本异常问题求助
解决Manjaro下编译AUR Elasticsearch时Java版本不符问题
问题分析
系统全局Java版本显示为19,但makepkg编译时检测到的是Java11,即使已安装Java17。核心原因是Arch/Manjaro系统默认Java版本未切换到17,或makepkg运行环境未加载正确的Java路径。
解决步骤
查看已安装的Java版本列表
执行以下命令确认系统中已安装的Java环境:archlinux-java status输出示例:
Available Java environments: java-11-openjdk java-17-openjdk (default) java-19-openjdk切换默认Java版本到17
如果java-17-openjdk未标记为(default),执行切换命令:sudo archlinux-java set java-17-openjdk验证切换结果
关闭当前终端重新打开,或执行命令刷新环境变量:source /etc/profile然后验证Java版本,确保两者均显示为Java 17.x.x:
java --version javac --version重新执行编译命令
回到Elasticsearch的AUR仓库目录,重新运行:makepkg -si
额外排查点
- 确认
jdk17-openjdk已正确安装,可通过pacman -Q jdk17-openjdk验证。 - 查看Elasticsearch的PKGBUILD文件,确认是否存在硬编码的Java路径(通常AUR包不会这么做,但可打开
PKGBUILD搜索JAVA_HOME相关配置)。
内容的提问来源于stack exchange,提问作者The Mir
相关产品推荐
相关产品推荐

