diff --git a/Dockerfile b/Dockerfile index cd83026..21ee12c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,24 +1,35 @@ +# --- Build Stage --- FROM maven:3.9-eclipse-temurin-21 AS build -COPY . /productdefinitions -COPY pom.xml /productdefinitions -COPY server-app/pom.xml /productdefinitions/server-app WORKDIR /productdefinitions +# 1. Abhängigkeiten (External Lib) klonen und installieren RUN git clone -b feature/Produkte --single-branch https://bitbucket.org/omds/omdsservicedefinitions.git /tmp/lib \ - && cd /tmp/lib/OMDSServiceDefinition \ - && mvn clean install -DskipTests + && cd /tmp/lib/OMDSServiceDefinition \ + && mvn clean install -DskipTests +# 2. Projekt-Struktur kopieren +# Zuerst nur die poms, um den Cache besser zu nutzen (optional, aber empfohlen) +COPY pom.xml . +COPY server-app/pom.xml server-app/ +# (Andere Modul-poms hier auch kopieren, falls vorhanden) + +# 3. Den Rest kopieren COPY . . -RUN mvn install -N -RUN mvn -pl server-app -am clean install +# 4. Bauen: Wir installieren das Root-Projekt und bauen dann gezielt das Modul +RUN mvn clean install -DskipTests -pl server-app -am +# --- Run Stage --- FROM eclipse-temurin:21-jre-alpine -WORKDIR /productdefinitions -RUN ls -la -COPY --from=build /productdefinitions/server-app/target/*.jar productdefinitions.jar +WORKDIR /app + +# Hier liegt der Trick: Wir kopieren gezielt die Datei, +# die NICHT ".original" im Namen hat, oder nutzen einen präzisen Namen. +# Da 'mvn install' im Modul-Ordner das JAR erzeugt: +COPY --from=build /productdefinitions/server-app/target/server-app-*.jar app.jar + +# Debug-Schritt: Zeig uns im Log, ob die Datei da ist und wie groß sie ist +RUN ls -lh app.jar EXPOSE 9080 -ENTRYPOINT ["java", "-jar", "productdefinitions.jar"] - - +ENTRYPOINT ["java", "-jar", "app.jar"] \ No newline at end of file