告诉SBT收集我所有的依赖关系

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (38)

构建Web应用程序时,SBT能够将我所有的jar依赖关系收集到WAR文件中。

这是否有可能让SBT将我在非web应用程序中依赖的所有jar放入目录中,以便在运行应用程序时可以轻松将它们放到我的类路径中?

提问于
用户回答回答于

是的,你可以在你的项目定义类中加入这样的东西:

val libraryJarPath = outputPath / "lib"

def collectJarsTask = {
  val jars = mainDependencies.libraries +++ mainDependencies.scalaJars
  FileUtilities.copyFlat(jars.get, libraryJarPath, log)
}

lazy val collectJars = task { collectJarsTask; None } dependsOn(compile)

并通过collect-jars你的SBT控制台运行任务。这会将scala-library.jar和用于编译的jar复制到lib与目录相同的目录中调用的classes目录中。

用户回答回答于

扫码关注云+社区