11# ---- Estágio de Build com Java 23 ----
2-
3- # Começamos com a imagem oficial do Java 23 (JDK completo).
42FROM eclipse-temurin:23-jdk AS build
53
6- # Define variáveis para a versão do Maven, para facilitar a atualização.
4+ # Define variáveis para a versão do Maven
75ARG MAVEN_VERSION=3.9.6
8- ARG MAVEN_URL=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz
6+ # CORREÇÃO: Usando um link de download mais estável do repositório de arquivos da Apache
7+ ARG MAVEN_URL=https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz
98
10- # Instala ferramentas necessárias (curl para download) e baixa e instala o Maven.
9+ # Instala ferramentas necessárias e baixa e instala o Maven.
1110RUN apt-get update && \
1211 apt-get install -y curl && \
1312 curl -fsSL ${MAVEN_URL} -o /tmp/maven.tar.gz && \
@@ -19,25 +18,23 @@ RUN apt-get update && \
1918# Define o diretório de trabalho.
2019WORKDIR /app
2120
22- # Copia o pom.xml e baixa as dependências (para aproveitar o cache do Docker).
21+ # Otimiza o cache do Docker baixando as dependências primeiro
2322COPY pom.xml .
2423RUN mvn dependency:go-offline
2524
26- # Copia o resto do código-fonte.
25+ # Copia o código-fonte.
2726COPY src ./src
2827
2928# Compila e empacota a aplicação.
3029RUN mvn package -DskipTests
3130
3231# ---- Estágio Final (Produção) com Java 23 ----
33-
34- # Usamos a imagem JRE (Java Runtime Environment) do Java 23, que é menor e mais segura.
3532FROM eclipse-temurin:23-jre
3633
3734# Define o diretório de trabalho.
3835WORKDIR /app
3936
40- # Copia APENAS o arquivo .jar gerado no estágio anterior.
37+ # Copia apenas o arquivo .jar gerado no estágio anterior.
4138COPY --from=build /app/target/AiFoodAPP-0.0.1-SNAPSHOT.jar app.jar
4239
4340# Expõe a porta da aplicação.
0 commit comments