我有一个带有 jars 的外部 lib 目录。我需要将这些包含在我的类路径中以便编译和测试我的项目,但我不想将它们包含在通过 universal:packageBin
生成的分布式 zip 文件中(在 sbt-native-packager 中)(或 dist
如果您使用的是 playframework
。
我试图通过使用 provided
来做到这一点。范围如下:
unmanagedBase in Provided := new java.io.File("/external/lib")
但这似乎并不像宣传的那样工作 - jar 似乎没有包含在
Compile
中。范围。我正在使用 sbt 0.13.1 .
最佳答案
这有效(感谢@jacek-laskowski 对我的回答的改进):
mappings in Universal := (mappings in Universal).value.filter { case(jar, _) => jar.getParentFile != unmanagedBase.value }
但是,它仍然感觉像是杂乱无章,如果
sbt
我更喜欢它(和 sbt-native-packager
)将正确支持 Provided
范围,因为这种情况正是它的含义。
关于playframework-2.0 - 从通用 :packageBin in sbt-native-packager? 中排除非托管依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22607869/