我对SBT完全不熟悉。假设我有三个Scala项目:project_a,project_b,project_c。我该如何将所有三个项目构建到一个jar文件中?假设我使用project_a作为根项目。目录结构类似于
--project_a
--build.sbt
--project_b
--project_c
按照sbt webiste上的说明,我创建了一个build.sbt文件,看起来像
lazy val root = (project.in(file("."))).aggregate(project_b, project_c)
lazy val project_b = project
lazy val project_c = project
我将build.sbt放在project_a下。当我在project_a下运行sbt clean compile时,会在project_a文件夹下创建一个新的(有点空的)project_b和project_c文件夹。但是,在build.sbt文件中,我的意思是project_b和project_c来引用我已经创建的包含源代码和测试代码的原始文件夹,这些文件夹在project_a之外。
有人能让我知道我做错了什么吗?
由于
答案 0 :(得分:2)
首先,您的multi-project设置不正确。
入门指南说:
聚合意味着在聚合项目上运行任务也将在聚合项目上运行它。
project_a
使用project_b
和project_c
,那么您需要root
至project_a
,{ {1}}和project_b
。project_c
应设置为依赖project_a
和project_b
。以下是一个例子:
project_c
我应该如何将所有三个项目构建到一个jar文件中?