scala SBT包只包括几个外部JAR,但不包括全部

vu8f3i0k  于 2022-11-09  发布在  Scala
关注(0)|答案(3)|浏览(122)

有没有办法可以使用SBT包来包含一些外部JAR,但不是全部。我知道SBT程序集,但这将包括在Build.sbt中配置的所有JAR

rsaldnfx

rsaldnfx1#

在这种情况下,您必须提供不带“Provided”选项的依赖项,并添加“Provided”以排除Build.sbt文件中的包的依赖项。
例如:我在这里为Spark流依赖提供了“提供”,这将不会包括在我的FAT JAR中:

"org.apache.spark" %% "spark-streaming" % sparkVersion % "provided"

但是pureconfig依赖包将包含在我的FAT JAR中,因为我还没有提到关键字:

"com.github.pureconfig" %% "pureconfig" % "0.12.3"
aelbi1ox

aelbi1ox2#

您可以在程序集插件中使用assemblyExcludedJar设置。SBT-ASSEMBLY自述文件中有一个示例:

assemblyExcludedJars in assembly := { 
  val cp = (fullClasspath in assembly).value
  cp filter {_.data.getName == "compile-0.1.0.jar"}
}
umuewwlo

umuewwlo3#

编译+=文件(“lib/my.jar”)中的未管理Jars

相关问题