NoClassDefFoundError в приложении Kotlin внутри образа докераJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 NoClassDefFoundError в приложении Kotlin внутри образа докера

Сообщение Anonymous »

У меня есть следующий файл Dockerfile, в котором я явно установил APP_CLASSPATH для отладки:

Код: Выделить всё

FROM gradle:8.11.1-jdk17-graal AS build
COPY --chown=gradle:gradle .  / h o m e / g r a d l e / s r c < b r   / > W O R K D I R   / h o m e / g r a d l e / s r c < b r   / > R U N   g r a d l e   b u i l d   - x   t e s t   - - n o - d a e m o n < b r   / > < b r   / > F R O M   o p e n j d k : 1 7 - j d k - s l i m < b r   / > R U N   m k d i r   / a p p < b r   / > C O P Y   - - f r o m = b u i l d   / h o m e / g r a d l e / s r c   / a p p / < b r   / > R U N   m k d i r   / a p p L i b s < b r   / > C O P Y   - - f r o m = b u i l d   / o p t / g r a d l e / l i b   / a p p L i b s < b r   / > E N V   A P P _ C L A S S P A T H = & q u o t ; / a p p L i b s / a g e n t s : / a p p L i b s / a n n o t a t i o n s - 2 4 . 0 . 1 . j a r : / a p p L i b s / a n t - 1 . 1 0 . 1 4 . j a r : / a p p L i b s / a n t - a n t l r - 1 . 1 0 . 1 4 . j a r : / a p p L i b s / a n t - j u n i t - 1 . 1 0 . 1 4 . j a r : / a p p L i b s / a n t - l a u n c h e r - 1 . 1 0 . 1 4 . j a r : / a p p L i b s / a n t l r 4 - r u n t i m e - 4 . 7 . 2 . j a r : / a p p L i b s / a s m - 9 . 7 . j a r : / a p p L i b s / a s m - c o m m o n s - 9 . 7 . j a r : / a p p L i b s / a s m - t r e e - 9 . 7 . j a r : / a p p L i b s / c o m m o n s - c o d e c - 1 . 1 6 . 1 . j a r : / a p p L i b s / c o m m o n s - c o m p r e s s - 1 . 2 6 . 1 . j a r : / a p p L i b s / c o m m o n s - i o - 2 . 1 5 . 1 . j a r : / a p p L i b s / c o m m o n s - l a n g - 2 . 6 . j a r : / a p p L i b s / c o m m o n s - l a n g 3 - 3 . 1 4 . 0 . j a r : / a p p L i b s / e r r o r _ p r o n e _ a n n o t a t i o n s - 2 . 2 9 . 0 . j a r : / a p p L i b s / f a i l u r e a c c e s s - 1 . 0 . 1 . j a r : / a p p L i b s / f a s t u t i l - 8 . 5 . 2 - m i n . j a r : / a p p L i b s / f i l e - e v e n t s - 0 . 2 2 - m i l e s t o n e - 2 6 . j a r : / a p p L i b s / f i l e - e v e n t s - l i n u x - a a r c h 6 4 - 0 . 2 2 - m i l e s t o n e - 2 6 . j a r : / a p p L i b s / f i l e - e v e n t s - l i n u x - a m d 6 4 - 0 . 2 2 - m i l e s t o n e - 2 6 . j a r : / a p p L i b s / f i l e - e v e n t s - o s x - a a r c h 6 4 - 0 . 2 2 - m i l e s t o n e - 2 6 . j a r : / a p p L i b s / f i l e - e v e n t s - o s x - a m d 6 4 - 0 . 2 2 - m i l e s t o n e - 2 6 . j a r : / a p p L i b s / f i l e - e v e n t s - w i n d o w s - a m d 6 4 - 0 . 2 2 - m i l e s t o n e - 2 6 . j a r : / a p p L i b s / f i l e - e v e n t s - w i n d o w s - a m d 6 4 - m i n - 0 . 2 2 - m i l e s t o n e - 2 6 . j a r : / a p p L i b s / f i l e - e v e n t s - w i n d o w s - i 3 8 6 - 0 . 2 2 - m i l e s t o n e - 2 6 . j a r : / a p p L i b s / f i l e - e v e n t s - w i n d o w s - i 3 8 6 - m i n - 0 . 2 2 - m i l e s t o n e - 2 6 . j a r : / a p p L i b s / g r a d l e - a p i - m e t a d a t a - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b a s e - a s m - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b a s e - s e r v i c e s - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b a s e - s e r v i c e s - g r o o v y - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b u i l d - c a c h e - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b u i l d - c a c h e - b a s e - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b u i l d - c a c h e - l o c a l - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b u i l d - c a c h e - p a c k a g i n g - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b u i l d - c a c h e - s p i - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b u i l d - e v e n t s - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b u i l d - o p e r a t i o n s - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b u i l d - o p e r a t i o n s - t r a c e - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b u i l d - o p t i o n - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b u i l d - p r o c e s s - s e r v i c e s - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - b u i l d - s t a t e - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - c l i - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - c l i e n t - s e r v i c e s - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - c o n c u r r e n t - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - c o n f i g u r a t i o n - p r o b l e m s - b a s e - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - c o r e - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - c o r e - a p i - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - d a e m o n - m a i n - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - d a e m o n - p r o t o c o l - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - d a e m o n - s e r v e r - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - d a e m o n - s e r v i c e s - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - d e c l a r a t i v e - d s l - a p i - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - d e c l a r a t i v e - d s l - c o r e - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - d e c l a r a t i v e - d s l - e v a l u a t o r - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - d e c l a r a t i v e - d s l - i n t e r n a l - u t i l s - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - d e c l a r a t i v e - d s l - p r o v i d e r - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - d e c l a r a t i v e - d s l - t o o l i n g - m o d e l s - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - e n t e r p r i s e - l o g g i n g - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - e n t e r p r i s e - o p e r a t i o n s - 8 . 1 1 . 1 . j a r : / a p p L i b s / g r a d l e - e n t e r p rise-workers-8.11.1.jar:/appLibs/gradle-execution-8.11.1.jar:/appLibs/gradle-file-collections-8.11.1.jar:/appLibs/gradle-file-operations-8.11.1.jar:/appLibs/gradle-file-temp-8.11.1.jar:/appLibs/gradle-file-watching-8.11.1.jar:/appLibs/gradle-files-8.11.1.jar:/appLibs/gradle-functional-8.11.1.jar:/appLibs/gradle-gradle-cli-8.11.1.jar:/appLibs/gradle-gradle-cli-main-8.11.1.jar:/appLibs/gradle-hashing-8.11.1.jar:/appLibs/gradle-input-tracking-8.11.1.jar:/appLibs/gradle-installation-beacon-8.11.1.jar:/appLibs/gradle-instrumentation-agent-services-8.11.1.jar:/appLibs/gradle-instrumentation-reporting-8.11.1.jar:/appLibs/gradle-internal-instrumentation-api-8.11.1.jar:/appLibs/gradle-io-8.11.1.jar:/appLibs/gradle-java-api-extractor-8.11.1.jar:/appLibs/gradle-jvm-services-8.11.1.jar:/appLibs/gradle-kotlin-dsl-8.11.1.jar:/appLibs/gradle-kotlin-dsl-extensions-8.11.1.jar:/appLibs/gradle-kotlin-dsl-shared-runtime-8.11.1.jar:/appLibs/gradle-kotlin-dsl-tooling-models-8.11.1.jar:/appLibs/gradle-launcher-8.11.1.jar:/appLibs/gradle-logging-8.11.1.jar:/appLibs/gradle-logging-api-8.11.1.jar:/appLibs/gradle-messaging-8.11.1.jar:/appLibs/gradle-model-core-8.11.1.jar:/appLibs/gradle-model-groovy-8.11.1.jar:/appLibs/gradle-native-8.11.1.jar:/appLibs/gradle-normalization-java-8.11.1.jar:/appLibs/gradle-persistent-cache-8.11.1.jar:/appLibs/gradle-problems-8.11.1.jar:/appLibs/gradle-problems-api-8.11.1.jar:/appLibs/gradle-process-memory-services-8.11.1.jar:/appLibs/gradle-process-services-8.11.1.jar:/appLibs/gradle-resources-8.11.1.jar:/appLibs/gradle-runtime-api-info-8.11.1.jar:/appLibs/gradle-serialization-8.11.1.jar:/appLibs/gradle-service-lookup-8.11.1.jar:/appLibs/gradle-service-provider-8.11.1.jar:/appLibs/gradle-service-registry-builder-8.11.1.jar:/appLibs/gradle-service-registry-impl-8.11.1.jar:/appLibs/gradle-snapshots-8.11.1.jar:/appLibs/gradle-stdlib-java-extensions-8.11.1.jar:/appLibs/gradle-stdlib-kotlin-extensions-8.11.1.jar:/appLibs/gradle-time-8.11.1.jar:/appLibs/gradle-toolchains-jvm-shared-8.11.1.jar:/appLibs/gradle-tooling-api-8.11.1.jar:/appLibs/gradle-tooling-api-provider-8.11.1.jar:/appLibs/gradle-worker-main-8.11.1.jar:/appLibs/gradle-wrapper-shared-8.11.1.jar:/appLibs/groovy-3.0.22.jar:/appLibs/groovy-ant-3.0.22.jar:/appLibs/groovy-astbuilder-3.0.22.jar:/appLibs/groovy-console-3.0.22.jar:/appLibs/groovy-datetime-3.0.22.jar:/appLibs/groovy-dateutil-3.0.22.jar:/appLibs/groovy-docgenerator-3.0.22.jar:/appLibs/groovy-groovydoc-3.0.22.jar:/appLibs/groovy-json-3.0.22.jar:/appLibs/groovy-nio-3.0.22.jar:/appLibs/groovy-sql-3.0.22.jar:/appLibs/groovy-swing-3.0.22.jar:/appLibs/groovy-templates-3.0.22.jar:/appLibs/groovy-test-3.0.22.jar:/appLibs/groovy-xml-3.0.22.jar:/appLibs/gson-2.10.jar:/appLibs/guava-32.1.2-jre.jar:/appLibs/hamcrest-core-1.3.jar:/appLibs/jackson-core-2.16.1.jar:/appLibs/jansi-1.18.jar:/appLibs/javaparser-core-3.17.0.jar:/appLibs/javax.inject-1.jar:/appLibs/jcl-over-slf4j-1.7.36.jar:/appLibs/jsr305-3.0.2.jar:/appLibs/jul-to-slf4j-1.7.36.jar:/appLibs/junit-4.13.2.jar:/appLibs/kotlin-assignment-compiler-plugin-embeddable-2.0.20.jar:/appLibs/kotlin-compiler-embeddable-2.0.20.jar:/appLibs/kotlin-daemon-embeddable-2.0.20.jar:/appLibs/kotlin-reflect-2.0.20.jar:/appLibs/kotlin-sam-with-receiver-compiler-plugin-2.0.20.jar:/appLibs/kotlin-script-runtime-2.0.20.jar:/appLibs/kotlin-scripting-common-2.0.20.jar:/appLibs/kotlin-scripting-compiler-embeddable-2.0.20.jar:/appLibs/kotlin-scripting-compiler-impl-embeddable-2.0.20.jar:/appLibs/kotlin-scripting-jvm-2.0.20.jar:/appLibs/kotlin-stdlib-2.0.20.jar:/appLibs/kotlinx-coroutines-core-jvm-1.6.2.jar:/appLibs/kotlinx-metadata-jvm-0.5.0.jar:/appLibs/kotlinx-serialization-core-jvm-1.6.2.jar:/appLibs/kotlinx-serialization-json-jvm-1.6.2.jar:/appLibs/kryo-2.24.0.jar:/appLibs/log4j-over-slf4j-1.7.36.jar:/appLibs/minlog-1.2.jar:/appLibs/native-platform-0.22-milestone-26.jar:/appLibs/native-platform-freebsd-amd64-libcpp-0.22-milestone-26.jar:/appLibs/native-platform-linux-aarch64-0.22-milestone-26.jar:/appLibs/native-platform-linux-aarch64-ncurses5-0.22-milestone-26.jar:/appLibs/native-platform-linux-aarch64-ncurses6-0.22-milestone-26.jar:/appLibs/native-platform-linux-amd64-0.22-milestone-26.jar:/appLibs/native-platform-linux-amd64-ncurses5-0.22-milestone-26.jar:/appLibs/native-platform-linux-amd64-ncurses6-0.22-milestone-26.jar:/appLibs/native-platform-osx-aarch64-0.22-milestone-26.jar:/appLibs/native-platform-osx-amd64-0.22-milestone-26.jar:/appLibs/native-platform-windows-amd64-0.22-milestone-26.jar:/appLibs/native-platform-windows-amd64-min-0.22-milestone-26.jar:/appLibs/native-platform-windows-i386-0.22-milestone-26.jar:/appLibs/native-platform-windows-i386-min-0.22-milestone-26.jar:/appLibs/objenesis-2.6.jar:/appLibs/plugins:/appLibs/qdox-1.12.1.jar:/appLibs/qqq:/appLibs/slf4j-api-1.7.36.jar:/appLibs/tomlj-1.0.0.jar:/appLibs/trove4j-1.0.20200330.jar:/appLibs/xml-apis-1.4.01.jar"
WORKDIR /app/samples/dispatcher/build/libs/
ENTRYPOINT ["java",  "-XX:+UnlockExperimentalVMOptions", "-XX:+UseContainerSupport", "-Djava.security.egd=file:/dev/./urandom", "-cp", "$APP_CLASSPATH", "-jar","./myJar.jar"]
Когда я пытаюсь запустить образ Docker, у меня возникает следующая ошибка:

Код: Выделить всё

Exception in thread "main" java.lang.NoClassDefFoundError: kotlinx/coroutines/ExecutorsKt
Но файл .jar, содержащий этот класс, содержится в APP_CLASSPATH (это /appLibs/kotlinx-coroutines-core-jvm-1.6.2. jar), а /appLibs/ содержит этот jar-файл, я проверил его с помощью docker run -it imageId sh
В чем может быть проблема?

Подробнее здесь: https://stackoverflow.com/questions/792 ... cker-image
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»