Scala 在sbt中编译子项目

Scala 在sbt中编译子项目,scala,sbt,Scala,Sbt,我有一些子项目需要用sbt编译。结构如下: main_project - sub_project1 - sub_project2 - sub_project3 当然,它们有正确的目录层次结构(src main scala…)。如何编译所有这些文件,尤其是每个文件 见: 在sbt交互提示下,键入projects以列出您的项目,键入project以选择当前项目。当您运行类似于compile的任务时,它将在当前项目上运行。因此,您不必编译根项目,您可以只编译子项目 您可以使用来编译所有答案。因

我有一些子项目需要用sbt编译。结构如下:

main_project
 - sub_project1
 - sub_project2
 - sub_project3
当然,它们有正确的目录层次结构(src main scala…)。如何编译所有这些文件,尤其是每个文件

见:

在sbt交互提示下,键入
projects
以列出您的项目,键入
project
以选择当前项目。当您运行类似于
compile
的任务时,它将在当前项目上运行。因此,您不必编译根项目,您可以只编译子项目


您可以使用来编译所有答案。

因为所选答案的链接文档已更改,所以答案不再那么清晰

在OP的
main_项目
build.sbt
中,要将它们编译在一起,它们必须定义一个
聚合
,作为以下链接:

lazy val root = (project in file("."))
  .aggregate(util, core)

lazy val util = (project in file("util"))

lazy val core = (project in file("core"))
然后在根项目的目录中运行
sbt compile
,将编译它们

但是,如果希望一次编译一个,可以将cmd行/终端导航到根项目(
main_project
此处),然后运行以下命令:

user:main\u project$:sbt/compile

以海报为例:

用户:主项目$:sbt子项目1/编译


(如果您在SBT终端,那么您可以省略
SBT

可能对某人有帮助:我不得不删除空格,即
SBT sub_project1/compile
而不是
SBT sub_project1/compile
。否则sbt会投诉预期的“/”错误(如果选择项目)
(以及其他错误)。