构建Web应用程序时,SBT能够将所有jar依赖项收集到WAR文件中.
是否可以让SBT将我依赖的所有罐子放在我的非Web应用程序中的目录中,以便在运行应用程序时可以轻松地将它们放到我的类路径中?
Mor*_*itz 10
是的,您可以在项目定义类中添加这样的内容:
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)
Run Code Online (Sandbox Code Playgroud)
并collect-jars在您的SBT控制台中运行任务.这会将scala-library.jar和用于编译的jar复制到lib与目录相同的目录中调用的classes目录中.