【问题标题】:Alpine Linux - javac not foundAlpine Linux - 找不到 javac
【发布时间】:2025-12-23 04:25:10
【问题描述】:

我正在尝试构建一个包含 OpenJDK 的 Alpine Linux 映像。 Java 运行时 (java) 已安装,但 Java 编译器 (javac) 未安装。我希望编译器随 OpenJDK 一起提供,就像通过 aptyum 安装时一样。

FROM alpine:latest

RUN apk update
RUN apk add bash openjdk8

RUN java -version
RUN javac --version

在构建 Dockerfile 时,返回以下错误: The command '/bin/sh -c javac -version' returned a non-zero code: 127

如何在 Alpine 上使用 Java 编译器?

【问题讨论】:

    标签: java docker alpine


    【解决方案1】:

    试试这个:

    FROM alpine:latest
    USER root
    
    RUN apk update
    RUN apk fetch openjdk8
    RUN apk add openjdk8
    ENV JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
    ENV PATH="$JAVA_HOME/bin:${PATH}"
    
    RUN java -version
    RUN javac -version
    

    【讨论】:

    • 我的问题是我总是可以运行java -version 但elasticsearch 6.5 看不到它。我什至可以以elasticsearch 用户身份运行它并且可以运行,但可执行文件没有。从我升级到 alpine linux 3.14(从 3.11)开始