# Maven 编译、打包、安装说明 本文档说明在本仓库根目录下进行项目的编译、打包与安装的常用操作命令。适用于聚合构建(包含 `framework` 与 `business-css` 两个模块)。 ## 环境要求 - JDK:`17` - Maven:`3.6.3+`(推荐 `3.8+`) - 操作系统:Windows(命令在 PowerShell 下执行) ## 项目结构(聚合) - 根 `pom.xml`:`packaging=pom`,聚合模块 - 模块 `framework`(artifact:`com.yfd:platform:1.0`) - 模块 `business-css`(artifact:`com.yfd:business-css:1.0-SNAPSHOT`) ## 常用全局构建 - 清理并打包所有模块(跳过测试): - `mvn -DskipTests clean package` - 清理并安装到本地仓库(跳过测试): - `mvn -DskipTests clean install` ## 仅构建某个模块 - 仅构建 `framework`: - `mvn -DskipTests clean package -pl framework` - 仅安装 `framework` 到本地仓库: - `mvn -DskipTests install -pl framework` - 仅构建 `business-css`,并自动构建其依赖: - `mvn -DskipTests clean package -pl business-css -am` - 仅安装 `business-css` 到本地仓库: - `mvn -DskipTests install -pl business-css -am` ## 运行业务模块(开发) - 在根目录运行 `business-css`: - `mvn -DskipTests spring-boot:run -pl business-css` - 运行后默认端口 `8082`:`http://localhost:8082` ## 产物位置说明 - `framework` 模块打包产物(位于 `d:\JavaProjectSpace\framework\target\`): - 可执行(经 `spring-boot-maven-plugin` 重打包)Jar:`platform-1.0.jar`(名称可能包含时间戳或 SNAPSHOT) - 附加 classes Jar(用于业务模块依赖):`platform-1.0-plain.jar` - `business-css` 模块打包产物(位于 `d:\JavaProjectSpace\business-css\target\`): - 可执行 Jar:`business-css-1.0-SNAPSHOT.jar` ## 本地 Maven 仓库位置(Windows) - `D:\maven-repository` - 安装命令执行成功后,相关坐标将被写入该目录: - `com\yfd\platform\1.0\platform-1.0-plain.jar` - `com\yfd\platform\1.0\platform-1.0.jar` - `com\yfd\business-css\1.0-SNAPSHOT\business-css-1.0-SNAPSHOT.jar` ## 业务模块对框架的依赖 - `business-css/pom.xml` 引用框架的公共 classes Jar: - 坐标:`com.yfd:platform:1.0:jar:plain` - 构建方式一:先构建 `framework` 再构建 `business-css` - `mvn -DskipTests clean package -pl framework` - `mvn -DskipTests clean package -pl business-css -am` - 构建方式二:在根目录一次性构建所有模块 - `mvn -DskipTests clean package` ## 常见问题与提示 - 如果出现依赖解析失败,优先执行 `install` 将产物写入本地仓库: - `mvn -DskipTests clean install` - 版本号与快照:业务模块当前为 `1.0-SNAPSHOT`,框架为 `1.0` - 代理/网络:如需远程仓库依赖,确保 Maven 设置(`settings.xml`)配置正确 - 清理构建缓存: - `mvn clean` ## 验证服务可用性 - 健康检查:`GET http://localhost:8082/api/simulation/ping` - 模拟执行:`POST http://localhost:8082/api/simulation/run` --- 以上命令均在仓库根目录执行。若需在 CI 中使用,请根据环境变量与缓存策略调整 `-DskipTests` 与并发参数。