我正在使用https://github.com/sbt/sbt-assembly中的sbtassembly打包我的项目。
我想知道有没有排除资源文件?
答案 0 :(得分:4)
您可以通过自定义mergeStrategy
指定要排除的文件(和路径):
https://github.com/sbt/sbt-assembly#excluding-specific-files
因此,为了丢弃特定文件,您可以执行以下操作:
// build.sbt
assemblyMergeStrategy in assembly := {
case PathList("about.html") => MergeStrategy.discard
case x =>
val oldStrategy = (assemblyMergeStrategy in assembly).value
oldStrategy(x)
}
以下是所有可用策略的文档: https://github.com/sbt/sbt-assembly#merge-strategy
答案 1 :(得分:0)
使用Dani的sbt
0.13.13方法,配置文件仍然包含在我的jar中。但这很有用:
excludeFilter in Compile := "myconfig.conf",
就我而言,所有文件都具有相同的名称myconfig.conf
,但存在于src / main / resources / config下的树结构中。我试过了:
unmanagedResourceDirectories in Compile += { baseDirectory.value / "src/main/resources/config" },
但它从jar中删除了目录,留下了文件。
这里记录了:http://www.scala-sbt.org/0.13/docs/Howto-Customizing-Paths.html