Skip to content

ThingsBoard 如何提高 Maven 的编译速度 ​

正文与配图来自原稿。ThingsBoard 模块多,全量 install 很慢,可用 Maven 并行构建提速。

1、参考资料 ​

原稿推荐阅读:
https://blog.csdn.net/liuxiao723846/article/details/111991698

2、如何实现 ​

作为 Java 开发都有这样的体会:打包一个项目要等很久。ThingsBoard 这种多模块工程更明显。可以用 Parallel Builds in Maven 提升速度。

默认情况下,Maven 不会吃满整机算力,而是顺序构建各模块。可以让 Maven 分析项目(含依赖关系图),在允许的情况下并行构建:既可指定确切线程数,也可用可移植写法,按本机 CPU 核数决定线程数。

bash
# 使用 4 个线程
mvn -T 4 install

# 每个可用 CPU 核使用 1 个线程(很好的默认尝试)
mvn -T 1C install

说明:

  • 有的项目依赖图较「串」,并行收益有限,但值得一试。
  • **每个 CPU 核一个线程(-T 1C)**通常是不错的默认值。
  • 开发机若有空闲算力,加快构建总是有用的。

配合跳过测试可再省时间(按需):

bash
mvn -T 1C clean install -DskipTests

示意:

并行编译相关示意


补充(辅) ​

  • IDEA:可在 Maven Runner 的 VM options / 命令行参数里加上 -T 1C。
  • 与 msa 构建镜像 联用时,Docker 构建阶段仍受网络与远程 Docker 性能影响,并行主要加速 Java 编译与打包。
  • 还可配合本地 Maven 镜像仓库、避免反复下依赖;见 本地编译常见问题 中的镜像配置。
  • 过多线程不一定更快(磁盘 IO、内存会成瓶颈),可从 -T 1C 再微调。

相关文章 ​