Ben*_*lts 8 scala sbt playframework
我有一个SBT项目,特别是一个Play Framework 2.1项目,它在配置中指定了许多子项目.编译时依赖关系似乎工作正常,但"清理"似乎只是清理当前选定的项目,不包括其依赖项.有没有办法清理所选项目及其相关子项目?
如果您的主项目聚合主题,如下所示:
lazy val root = Project("name", file("."))
.aggregate(module1, module2, macros)
Run Code Online (Sandbox Code Playgroud)
然后,将对所有子项目执行调用此根项目的任何命令.如果你inspect clean在你的sbt会话中调用命令,你会在相关部分下看到与此相关的所有子项目
在评论的旁注
aggregate并且dependsOn是用于不同目的的不同命令.聚合的目的是在根项目上调用的运行命令.在我的例子中,通过调用test我的根项目上的命令,该命令也将执行module1 module2和macros.如果要使用以下设置关闭此类行为:
aggregate in test := false
Run Code Online (Sandbox Code Playgroud)
聚合项目独立于其中的代码.它通常用在根项目上,例如,不要调用test每个项目,而是在root上调用它.记住,在聚合的情况下,命令将并行执行.
而dependsOn意味着您的项目将取决于其他项目的代码.在这种情况下,SBT将执行命令序列,以便compile您的根项目,其中dependsOn一些模块,它应该在第一步编译那些模块,根项目.