/ bin / sh: jlink: не найдено. Команда '/ bin / sh - c jlink' вернула ненулевой код: 127 - PullRequest
2 голосов
/ 19 февраля 2020

используемый файл docker -

FROM azul/zulu-openjdk-alpine:11 as jdk

RUN jlink \
    --module-path /usr/lib/jvm/*/jmods/ \
    --verbose \
    --add-modules java.base,jdk.unsupported,java.sql,java.desktop \
    --compress 2 \
    --no-header-files \
    --no-man-pages \
    --output /opt/jdk-11-minimal

FROM alpine:3.10
ENV JAVA_HOME=/opt/jdk-11-minimal
ENV PATH=$PATH:/opt/jdk-11-minimal/bin
COPY --from=jdk /opt/jdk-11-minimal /opt/jdk-11-minimal

, почему jlink не может быть найден в azul / zulu-openjdk-alpine: 11?

Ответы [ 2 ]

1 голос
/ 19 февраля 2020

Ответ прост: jlink не указан в PATH, поэтому не может быть найден.

Если вы измените строку RUN на

RUN /usr/lib/jvm/zulu11/bin/jlink

, ее можно будет найти.

Тем не менее, у вас все еще есть ошибка с использованием подстановочного знака в пути модуля. Измените это на

--module-path /usr/lib/jvm/zulu11/jmods/

, и команда docker будет успешно выполнена.

0 голосов
/ 19 февраля 2020

Пожалуйста, используйте $JAVA_HOME/bin/jlink.

По историческим причинам $ JAVA_HOME / bin не включен в PATH, поэтому вам нужно указать это напрямую.

...