RuoYi-Vue-Plus/PMS编译优化配置指南.md

4.0 KiB
Raw Blame History

PMS模块编译优化配置指南

概述

为了提高开发效率我们优化了PMS模块的编译流程现在可以通过快捷键快速编译PMS模块而无需编译整个项目。

编译脚本说明

1. pms-compile.ps1 - 基础快速编译

功能特点:

  • 只编译 ruoyi-pms 模块及其必要依赖
  • 跳过其他业务模块demo、generator、job、system、workflow
  • 支持并行编译,提高编译速度
  • 默认跳过测试,加快编译过程

使用方法:

# 基础编译
.\pms-compile.ps1

# 清理后编译
.\pms-compile.ps1 -Clean

# 包含测试编译
.\pms-compile.ps1 -SkipTests:$false

# 离线编译
.\pms-compile.ps1 -Offline

# 详细输出
.\pms-compile.ps1 -Quiet:$false

2. pms-smart-compile.ps1 - 智能增量编译

功能特点:

  • 支持增量编译,只在文件有变化时才重新编译
  • 自动检测源码文件变化(.java、.xml、.properties
  • 维护编译时间戳,避免不必要的重复编译
  • 更智能的编译策略

使用方法:

# 智能编译(推荐)
.\pms-smart-compile.ps1

# 强制重新编译
.\pms-smart-compile.ps1 -Force

# 清理后编译
.\pms-smart-compile.ps1 -Clean

# 详细输出模式
.\pms-smart-compile.ps1 -Verbose

VSCode快捷键配置

当前配置的快捷键

快捷键 功能 说明
Ctrl+Alt+B PMS快速编译 执行 pms-compile.ps1
Ctrl+Shift+B 完整项目编译 编译整个项目
Ctrl+Shift+P PMS模块编译 Maven原生PMS编译
Ctrl+F5 启动应用 运行Spring Boot应用
Ctrl+Alt+S 开发环境启动 执行 start-dev-utf8.ps1

推荐的开发流程

  1. 日常开发编译: 使用 Ctrl+Alt+B 快速编译PMS模块
  2. 首次编译或依赖变更: 使用 Ctrl+Shift+B 完整编译
  3. 启动应用: 使用 Ctrl+F5 启动Spring Boot应用

Maven命令对比

传统完整编译

mvn clean compile -T 1C -DskipTests=true
  • 编译所有模块
  • 耗时较长通常30-60秒

PMS模块编译

mvn compile -pl ruoyi-modules/ruoyi-pms -am -T 1C -DskipTests=true
  • 只编译PMS模块及其依赖
  • 耗时较短通常10-20秒

编译优化原理

1. 模块选择优化

  • 使用 -pl ruoyi-modules/ruoyi-pms 指定编译模块
  • 使用 -am (also make) 自动包含依赖模块
  • 跳过不相关的业务模块

2. 依赖分析

PMS模块的编译依赖链

ruoyi-pms
├── ruoyi-common-core
├── ruoyi-common-mybatis
├── ruoyi-common-web
├── ruoyi-common-security
└── 其他必要的common模块

3. 性能优化

  • 并行编译:-T 1C使用1个CPU核心
  • 跳过测试:-DskipTests=true
  • 安静模式:-q(减少输出)

故障排除

常见问题

  1. 编译失败:依赖模块未编译

    解决方案:使用 -Clean 参数或先执行完整编译
    
  2. PowerShell执行策略限制

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    
  3. 中文乱码问题

    脚本已自动设置UTF-8编码无需额外配置
    

性能监控

编译脚本会显示:

  • 编译耗时
  • 编译范围
  • 文件变化检测(智能编译)

最佳实践

  1. 开发阶段: 优先使用 pms-smart-compile.ps1 进行增量编译
  2. 依赖变更: 使用 pms-compile.ps1 -Clean 清理编译
  3. 发布前: 使用完整项目编译确保所有模块正常
  4. CI/CD 在持续集成中仍使用完整编译

扩展配置

如需为其他模块创建类似的快速编译可以参考PMS编译脚本修改模块路径

# 示例为system模块创建快速编译
$params += "-pl", "ruoyi-modules/ruoyi-system", "-am"

总结

通过这套编译优化方案PMS模块的编译时间可以减少50-70%,显著提高开发效率。建议开发团队统一使用这套配置。