为什么在SBT的编译阶段“解决”这么慢?

时间:2015-02-27 14:18:00

标签: java scala maven sbt

我发现解析步骤通常需要很长时间才能运行sbt compile,例如此

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

有没有人对解决方案的实际含义有什么想法?为什么有必要呢?

1 个答案:

答案 0 :(得分:9)

当ivy(sbt用于依赖管理)查看项目的依赖关系图以找出所有依赖关系和传递依赖关系,并解决它们之间的任何冲突时,例如,两个依赖关系可能取决于不同的版本同一个图书馆。

结果是缓存的,但是如果你执行了清理就会被删除,所以在下一个需要知道依赖关系的操作时会重新计算它。

也可以以这样的方式配置项目,使sbt无法缓存结果,但每次构建时都需要重做这些计算,例如,如果依赖快照并为每个构建配置sbt更新快照