Scala 仅向SBT打包的jar文件添加特定依赖项

Scala 仅向SBT打包的jar文件添加特定依赖项,scala,sbt,Scala,Sbt,我正在写一个小的Scala库。我的库依赖于另外两个库——让我们称它们为A和B。我希望在程序集的jar文件中包含A,但不包含B,因为1)客户机代码总是依赖于B,所以它总是存在,2)B是一个非常大的程序集 使用sbt程序集构建将创建一个包含所有依赖项的胖jar。使用sbt包构建会创建一个只包含我的库的类的瘦罐子。我想要一种包含我的类和依赖关系A的jar的半略读jar 我已经寻找了对我的Build.scala文件的潜在修改或添加,以使SBT在构建jar时只包含一个特定的依赖项,但我还没有找到任何可以做

我正在写一个小的Scala库。我的库依赖于另外两个库——让我们称它们为A和B。我希望在程序集的jar文件中包含A,但不包含B,因为1)客户机代码总是依赖于B,所以它总是存在,2)B是一个非常大的程序集

使用
sbt程序集构建
将创建一个包含所有依赖项的胖jar。使用
sbt包构建
会创建一个只包含我的库的类的瘦罐子。我想要一种包含我的类和依赖关系A的jar的半略读jar


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

如果您确信
B
依赖项在运行时始终存在,您可以始终将
B
标记为
提供的

libraryDependencies += "com.youcompany" %% "b-library" % "1.0" % "provided"
这意味着它将包含在编译依赖项中,但将在运行时以其他方式提供,因此无需对其进行打包