【问题标题】:Adding just specific dependencies to an SBT-packaged jar file仅将特定依赖项添加到 SBT 打包的 jar 文件
【发布时间】:2013-08-09 15:12:53
【问题描述】:

我正在编写一个小型 Scala 库。我的库依赖于另外两个库 - 我们称它们为 A 和 B。我想在我的程序集的 jar 文件中包含 A,但不包含 B,因为 1) 客户端代码将始终依赖于 B,因此它将始终存在, 和 2) B 是一个非常大的程序集。

使用 sbt assembly 构建会创建一个包含所有依赖项的胖 jar。使用sbt package 构建会创建一个只有我图书馆的类的瘦罐子,仅此而已。我想要某种半脱脂 jar,其中包含我的类和依赖项 A 的 jar。

我已经查看了对我的Build.scala 文件的潜在修改或添加,以使 SBT 在构建 jar 时仅包含一个特定的依赖项,但我还没有设法找到任何事情要做。我不确定这是否可能。任何帮助或指导将不胜感激。

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    如果您确定 B 依赖项将始终存在于运行时,您始终可以将 B 标记为 provided

    libraryDependencies += "com.youcompany" %% "b-library" % "1.0" % "provided"
    

    这意味着它将被包含在编译依赖中,但会在运行时以其他方式提供,因此无需打包。

    【讨论】:

      猜你喜欢
      • 2019-09-03
      • 1970-01-01
      • 1970-01-01
      • 2019-11-19
      • 2013-03-15
      • 2013-05-28
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      相关资源
      最近更新 更多