# ── Stage 1: 构建 ──────────────────────────────────────
FROM maven:3.9-eclipse-temurin-21-alpine AS builder

WORKDIR /app

# 注入阿里云 Maven 镜像源配置
COPY settings.xml /root/.m2/settings.xml

# 先单独复制 pom.xml，预下载依赖，充分利用 Docker 层缓存
COPY pom.xml .
RUN mvn dependency:go-offline -B

# 复制源码并打包
COPY src ./src
RUN mvn package -Dmaven.test.skip=true -B

# ── Stage 2: 运行 ──────────────────────────────────────
FROM eclipse-temurin:21-jre-alpine

WORKDIR /app

COPY --from=builder /app/target/broker-0.1.0.jar broker.jar

EXPOSE 8080
ENTRYPOINT ["java", "-jar", "broker.jar"]
