首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >告诉SBT将我的所有依赖项收集在一起

告诉SBT将我的所有依赖项收集在一起
EN

Stack Overflow用户
提问于 2011-04-06 18:11:58
回答 3查看 6.4K关注 0票数 19

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

是否可以让SBT将我在非web应用程序中依赖的所有jars文件放到一个目录中,这样我就可以在运行该应用程序时轻松地将它们放到类路径中?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-09 04:56:04

是的,您可以在您的项目定义类中放入如下内容:

代码语言:javascript
复制
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)

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

票数 12
EN

Stack Overflow用户

发布于 2014-09-01 05:38:20

在我看来,不用担心sbt-assembly。我是scala的新手,但我对技术不太了解,我处理了很多技术和sbt-汇编它并不干净。这只是一个观点。

我推荐你用sbt-pack。一件很棒的作品。它还将为您提供适用于这两种情况的可运行脚本。WINDOWS和LINUX。

https://github.com/xerial/sbt-pack

票数 3
EN

Stack Overflow用户

发布于 2013-08-15 19:20:38

您可以使用sbt-assembly创建一个包含所有依赖项的fat jar:https://github.com/sbt/sbt-assembly

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5564690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档