我有一个sbt多模块项目,配置为sbt程序集.在这个项目中,我想跳过为了加快构建而不打算执行的子项目的胖jar生成.但我不确定这是怎么做到的.
只是不要在不需要的子模块中包含程序集设置。
例如,使用 sbt 0.13.5 和 sbt-assemble 0.11.2,这是一个多模块项目。如果你assembly在 root 下运行,只有“app”项目会被制作成一个 fat jar。
project/Build.scala
import sbt._
import Keys._
import sbtassembly.Plugin.assemblySettings
object MyApp extends Build {
lazy val root = Project("root", file(".")).aggregate(common, app)
lazy val common = Project("common", file("common"))
lazy val app = Project("app", file("app")).settings(assemblySettings: _*).dependsOn(common)
}
Run Code Online (Sandbox Code Playgroud)
common/src/main/scala/com/example/common/Hello.scala
package com.example.common
object Hello {
def hello(name: String): String = s"Hello, $name"
}
Run Code Online (Sandbox Code Playgroud)
app/src/main/scala/com/example/hello/App.scala
package com.example.hello
import com.example.common.Hello._
object Main extends App {
println(hello(args(0)))
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2736 次 |
| 最近记录: |