为什么 `Resolving` 在 SBT 的编译阶段这么慢?

Why is `Resolving` so slow in the compiling stage of SBT?

我发现当我 运行 sbt compile 时,解析步骤通常需要很长时间,比如这个

[info] Resolving org.sonatype.oss#oss-parent;7 ...

有人知道解析的实际含义吗?为什么有必要?

ivy(sbt 用于依赖管理)通过查看项目的依赖图来找出所有依赖和传递依赖,并解决它们之间的任何冲突,例如,两个依赖可能依赖于不同的同一个库的版本。

结果已缓存,但如果您进行清理,结果将被删除,因此将在需要了解依赖关系的下一个操作中重新计算。

也可以配置项目,使 sbt 无法缓存结果但需要在每次构建时重做这些计算,例如,如果你依赖快照并配置 sbt 更新快照每个版本。