许多项目启动缓慢 SBT

Posted

技术标签:

【中文标题】许多项目启动缓慢 SBT【英文标题】:Slow SBT start up with many projects 【发布时间】:2015-04-15 17:19:22 【问题描述】:

我有一个包含约 40 个子项目的 SBT 项目。 有几个插件,其中最大的是 Play 和 sbt-native-packager。没有全局插件。

在一些相当强大的硬件上,启动(第一次之后)需要 20-25 秒。 我知道这不全是因为 JVM 启动,因为一个小项目(纯开销)在 3-4 秒内启动。

我怎样才能找出为什么 sbt 在更大的项目中需要更长的时间?

我尝试了 sbt -Dsbt.task.timings=true,但它不包括花费大量时间的内容。在最后一次计时打印之后,但之前

将当前项目设置为示例(在构建文件中:/home/paul/lucid/example/)

有 15 秒的停顿。

如何找到导致启动缓慢的原因?

【问题讨论】:

【参考方案1】:

尝试创建project/debug.sbt

logLevel := Level.Debug

看看你发现了什么。如果你有project/*.scala,通常是编译构建文件。

【讨论】:

SBT 文件是更快还是它们本质上是 Scala 文件? 它们也将被编译。为了节省时间,应该把它做成一个已发布的插件。 "start up (after the first time)" 我的意思是所有的project/*.scala文件都被编译了。

以上是关于许多项目启动缓慢 SBT的主要内容,如果未能解决你的问题,请参考以下文章

sbt-native-packager 可以为一个项目生成多个启动脚本吗?

springboot项目突然启动缓慢

启动使用 SORM 框架的 Scala 项目时出错

解决 sbt 中的 jar 加载冲突

如何使用 IntelliJ Idea 创建 SBT 项目?

怎样快速启动Linux系统?