scala - 运行 "clean"所有依赖的 SBT 子项目

标签 scala playframework sbt

我有一个 SBT 项目,特别是 Play Framework 2.1 项目,它在配置中指定了许多子项目。编译时依赖项似乎工作正常,但“清理”似乎只清理当前选定的项目,不包括其依赖项。有什么方法可以清理所选项目及其依赖的子项目?

最佳答案

如果你的主项目聚合了主题,像这样:

lazy val root = Project("name", file("."))
    .aggregate(module1, module2, macros)

那么在这个根项目上调用的任何命令都将为所有子项目执行。如果您调用inspect clean在您的 sbt session 中使用命令,您将在相关部分下看到与此清洁相关的所有子项目

在评论的旁注中
aggregatedependsOn是针对不同目的的不同命令。 的目的|聚合 正在运行对根项目调用的命令。在我的示例中,通过调用 test在我的根项目上执行命令,该命令也将针对 module1 执行module2macros .如果您想使用以下设置关闭此类行为:
aggregate in test := false

聚合项目独立于其中的代码。一般用于根项目,例如不调用test在每个项目上,但要在 root 上调用它。请记住,在聚合的情况下,命令将并行执行。

依赖 意味着您的项目将依赖于其他项目的代码。在这种情况下,SBT 将按顺序执行命令,以便 compile你的根项目,dependsOn一些模块,它应该在第一步编译这些模块,即根项目。

关于scala - 运行 "clean"所有依赖的 SBT 子项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18092327/

相关文章:

scala - 使用 FunSuite 测试 Spark 抛出 NullPointerException

java - Play Framework 2.5.12 - 从调用中获取方法

scala - 尝试添加 scala-uri 插件来 Play Framework

Scala: bool 值到选项

scala - Groupby 类似于 Python 的 itertools.groupby

scala - 遍历 Scala 列表

java - playframework 使用 find 和 IN 以及模型列表

scala - 找不到sbt命令

scala - 具有子模块和多个 scala 版本的 sbt

java - 配置编程语言