Java Docker Container не будет работать без файла JARJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java Docker Container не будет работать без файла JAR

Сообщение Anonymous »

Я пытался организовать свое изображение Docker, чтобы иметь все связанные файлы в папке/приложения, но при запуске Java -Jar App.jar в контейнере я получаю это:
Exception in thread "main" java.lang.ClassNotFoundException: com.example.taskmanager.TaskManagerApplication
at java.base/java.net.URLClassLoader.findClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.loadClass(JarUrlClassLoader.java:107)
at org.springframework.boot.loader.launch.LaunchedClassLoader.loadClass(LaunchedClassLoader.java:91)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
at java.base/java.lang.Class.forName(Unknown Source)
at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:99)
at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:64)
at org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:40)
< /code>
Это был Dockerfile, который я попытался запустить его с: < /p>
# === Build stage ===
FROM maven:3.9.9-eclipse-temurin-21-alpine AS builder

WORKDIR /app

COPY pom.xml ./
COPY /src /src

RUN mvn clean package -DskipTests

# === Run stage ===

FROM eclipse-temurin:21.0.5_11-jre-alpine-3.21

WORKDIR /app

COPY --from=builder /app/target/*.jar ./app.jar

EXPOSE 9090

CMD ["java", "-jar", "app.jar"]
< /code>
Я заставил его работать, выполняя одну и ту же команду, когда я использую этот Dockerfile: < /p>
# === Build stage ===
FROM maven:3.9.9-eclipse-temurin-21-alpine AS builder

COPY pom.xml ./
COPY /src /src

RUN mvn clean package -DskipTests

# === Run stage ===

FROM eclipse-temurin:21.0.5_11-jre-alpine-3.21

COPY --from=builder /target/*.jar ./app.jar

EXPOSE 9090

CMD ["java", "-jar", "app.jar"]
< /code>
Но обратите внимание, что единственная разница в том, что я упаковываю и работаю из корня. Я бы хотел, чтобы организация работала в /приложении, как и в Python Projects. Кто -нибудь знает, что происходит?


Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-at-root
Ответить

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

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

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

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

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