如何进行多项目构建,为每个子项目输出一个 jar?
How do I do a multi-project build that outputs a jar for every subproject?
我有一个名为 Main
的项目和 2 个子项目:One
、Two
。这是我的 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"))
当我 运行 sbt compile package
我只得到一个 .jar
for Main
(Main.jar
), 但我想得到一个 .jar
对于每个子项目而不是 Main
:One.jar
、Two.jar
.
我该如何实现?
我也不知道 aggregate(one, two) dependsOn(one, two)
是什么意思,我需要那个吗?
我还希望每个子项目都构建成一个带有 sbt-assembly
的 fat jar。
现在确实有效了。我遇到了这种行为,sbt 告诉我我的程序集没有打包,因为它是最新的,但后来我开始做 sbt clean assembly
,而不是 sbt assembly
,它就像一个现在魅力。
我有一个名为 Main
的项目和 2 个子项目:One
、Two
。这是我的 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"))
当我 运行 sbt compile package
我只得到一个 .jar
for Main
(Main.jar
), 但我想得到一个 .jar
对于每个子项目而不是 Main
:One.jar
、Two.jar
.
我该如何实现?
我也不知道 aggregate(one, two) dependsOn(one, two)
是什么意思,我需要那个吗?
我还希望每个子项目都构建成一个带有 sbt-assembly
的 fat jar。
现在确实有效了。我遇到了这种行为,sbt 告诉我我的程序集没有打包,因为它是最新的,但后来我开始做 sbt clean assembly
,而不是 sbt assembly
,它就像一个现在魅力。