# ============================================ # Maven 依赖基础镜像 # 预下载所有依赖,供服务构建时复用 # ============================================ FROM eclipse-temurin:17-jdk-alpine # 安装 Maven RUN apk add --no-cache maven WORKDIR /build # 复制所有 pom 文件 COPY pom.xml . COPY viewsh-dependencies/pom.xml viewsh-dependencies/ COPY viewsh-framework/pom.xml viewsh-framework/ COPY viewsh-gateway/pom.xml viewsh-gateway/ COPY viewsh-server/pom.xml viewsh-server/ COPY viewsh-module-system/pom.xml viewsh-module-system/ COPY viewsh-module-system/viewsh-module-system-api/pom.xml viewsh-module-system/viewsh-module-system-api/ COPY viewsh-module-system/viewsh-module-system-server/pom.xml viewsh-module-system/viewsh-module-system-server/ COPY viewsh-module-infra/pom.xml viewsh-module-infra/ COPY viewsh-module-infra/viewsh-module-infra-api/pom.xml viewsh-module-infra/viewsh-module-infra-api/ COPY viewsh-module-infra/viewsh-module-infra-server/pom.xml viewsh-module-infra/viewsh-module-infra-server/ COPY viewsh-module-iot/pom.xml viewsh-module-iot/ COPY viewsh-module-iot/viewsh-module-iot-core/pom.xml viewsh-module-iot/viewsh-module-iot-core/ COPY viewsh-module-iot/viewsh-module-iot-api/pom.xml viewsh-module-iot/viewsh-module-iot-api/ COPY viewsh-module-iot/viewsh-module-iot-server/pom.xml viewsh-module-iot/viewsh-module-iot-server/ COPY viewsh-module-iot/viewsh-module-iot-gateway/pom.xml viewsh-module-iot/viewsh-module-iot-gateway/ COPY viewsh-module-ops/pom.xml viewsh-module-ops/ COPY viewsh-module-ops/viewsh-module-ops-api/pom.xml viewsh-module-ops/viewsh-module-ops-api/ COPY viewsh-module-ops/viewsh-module-ops-biz/pom.xml viewsh-module-ops/viewsh-module-ops-biz/ COPY viewsh-module-ops/viewsh-module-environment-biz/pom.xml viewsh-module-ops/viewsh-module-environment-biz/ COPY viewsh-module-ops/viewsh-module-security-biz/pom.xml viewsh-module-ops/viewsh-module-security-biz/ COPY viewsh-module-ops/viewsh-module-facilities-biz/pom.xml viewsh-module-ops/viewsh-module-facilities-biz/ COPY viewsh-module-ops/viewsh-module-service-biz/pom.xml viewsh-module-ops/viewsh-module-service-biz/ COPY viewsh-module-ops/viewsh-module-ops-server/pom.xml viewsh-module-ops/viewsh-module-ops-server/ # 下载所有依赖到本地仓库 RUN mvn dependency:go-offline -B || true # 复制源代码 COPY . . # 预编译 framework 和 dependencies(所有服务共享) RUN mvn install -pl viewsh-dependencies,viewsh-framework -am -DskipTests -B -q || true