# --- Stage 1: Build --- FROM maven:3.9.0-eclipse-temurin-8 as mvn WORKDIR /app # 1. 复制 settings.xml COPY settings.xml /root/.m2/settings.xml # 2. 只复制 pom.xml 文件 COPY pom.xml . # 3. 仅下载依赖。只要 pom.xml 不变,这一层就会被缓存 RUN mvn dependency:go-offline # 4. 复制所有项目文件 COPY . . # 5. 执行打包(此时不会再下载依赖,速度很快) RUN mvn clean package -DskipTests # --- Stage 2: Runtime --- FROM openjdk:8-jre-slim WORKDIR /app COPY --from=mvn /app/target/dalian-nft-api.jar app.jar EXPOSE 8888 ENTRYPOINT ["java", "-jar", "app.jar"]