# ===== 第一阶段:构建阶段,使用 Maven 打包项目 =====
FROM maven:3.9-eclipse-temurin-17 AS build

# 设置工作目录
WORKDIR /app

# 复制项目文件和 Maven 配置
COPY . .
COPY settings.xml /root/.m2/settings.xml

# 执行打包(跳过测试)
RUN mvn clean package -DskipTests

# ===== 第二阶段:运行阶段,使用更小的 JRE Alpine 镜像 =====
FROM eclipse-temurin:17-jre-alpine

# 设置工作目录
WORKDIR /app

# 从构建阶段拷贝最终的 jar 包
COPY --from=build /app/target/SpringBoot-1.0-SNAPSHOT.jar app.jar

# 暴露端口(根据你的 application.properties 中 server.port)
EXPOSE 3000

# 启动 Spring Boot 应用
ENTRYPOINT ["java", "-jar", "app.jar"]