[英]How do I do a multi-project build that outputs a jar for every subproject?
I have a project, called Main
, and 2 subprojects: One
, Two
. 我有一个名为Main
的项目,还有2个子项目: One
, Two
。 Here's what my build.sbt
looks like: 这是我的build.sbt
样子:
name := "Main"
version := "0.1"
scalaVersion := "2.12.7"
lazy val root = Project(id = "root", base = file(".")) aggregate(one, two) dependsOn(one, two)
lazy val one = Project(id = "one", base = file("One"))
lazy val two = Project(id = "two", base = file("Two"))
when I run sbt compile package
I only get a .jar
for Main
( Main.jar
), but I want to get a .jar
for every subproject and not Main
: One.jar
, Two.jar
. 当我运行sbt compile package
我只为Main
( Main.jar
)获得一个.jar
,但我想为每个子项目都获得一个.jar
,而不是Main
: One.jar
, Two.jar
。
How do I achieve this? 我该如何实现?
Also I have no idea what aggregate(one, two) dependsOn(one, two)
means, do I even need that? 另外我也不知道aggregate(one, two) dependsOn(one, two)
是什么意思,我什至需要那个吗?
I also want every subproject to build into a fat jar with sbt-assembly
. 我还希望每个子项目都可以使用sbt-assembly
内置到一个胖子罐中。
It actually works now. 它现在实际起作用。 I was encountering this behavior, where sbt was telling me that my assembly was not packaged, because it was up-to-date, but then I started doing sbt clean assembly
, instead of sbt assembly
and it works like a charm now. 我遇到了这种行为,因为sbt告诉我我的程序集没有打包,因为它是最新的,但是后来我开始执行sbt clean assembly
,而不是sbt assembly
,它现在就像一种魅力。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.