сборка образа докера с использованием graalvm Ошибка: класс основной точки входа 'app.jar' не найден com.oracle.svm.core.util.UserError $ UserException - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь создать свой образ Docker, используя graalvm-ce, но он не отображает ошибку как:

Согласно сообщению в блоге оракула, я упоминал класс Java также в качестве отправной точки, но все же он терпит неудачу.

Error: Main entry point class 'app.jar' not found.
com.oracle.svm.core.util.UserError$UserException: Main entry point class 'app.jar' not found.
        at com.oracle.svm.core.util.UserError.abort(UserError.java:65)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:260)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:448)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:113)
Error: Image build request failed with exit status 1

Вот мой Dockerfile:

#Multi stage docker file

FROM maven:3.6.1-jdk-8 AS build

ENV APP_HOME=/root/dev/app/

COPY src $APP_HOME/src

COPY pom.xml $APP_HOME/

RUN mvn -f $APP_HOME/pom.xml clean package -DskipTests



FROM oracle/graalvm-ce:19.2.0 AS build-aot

RUN ln -s /opt/graalvm-ce-19.2.0 /opt/graalvm
ENV GRAALVM_HOME=/opt/graalvm
ENV JAVA_HOME=/opt/graalvm
ENV PATH=${GRAALVM_HOME}/bin:${PATH}
RUN gu install native-image
COPY --from=build /root/dev/app/target/knative-spring-gke-1.0.jar /app.jar
RUN native-image --no-server -cp -jar app.jar com.arindam.knative.gke.KnativeSpringGkeApplication
#ENTRYPOINT ["./app"]

FROM frolvlad/alpine-glibc
EXPOSE 8080
COPY --from=build-aot /app .
ENTRYPOINT ["./app"]

Есть идеи?Заранее спасибо.

1 Ответ

0 голосов
/ 30 сентября 2019

Ваша командная строка для native-image содержит -cp -jar app.jar.Это интерпретируется как -jar является classpath и app.jar является основным классом.

Я думаю, что вы хотели native-image --no-server -cp app.jar com.arindam.knative.gke.KnativeSpringGkeApplication.

...