这个流程的关键在于:
- 前端构建产物会复制到 Java 项目的 static 目录
-
第一步先清空了 src/main/resources/static/
-
yarn run build --mode prod 会生成生产环境的静态文件到 dist/ 目录
-
Spring Boot 默认会 serving src/main/resources/static/ 目录下的静态资源
- Java 构建时会把这些静态文件打包进 JAR
- Maven 执行 mvn clean install 时,会把 src/main/resources/ 下的所有文件(包括前端构建产物)打包进最终的 JAR 包
- Docker 镜像构建时使用这个 JAR 包
-
Dockerfile 中 COPY ./lb-platform-starter-1.0.0.jar /app/lb-platform-java.jar
-
最终运行的容器就包含了完整的前端 + 后端代码
所以整个流程是: 前端编译 → 复制到 Java 资源目录 → Maven 打包进 JAR → Docker 镜像包含 JAR
这就是为什么前端打包完成后,整个项目就可以正常使用了!🎯