sbt assembly:使用 MergeStrategy 排除资源(多项目构建)
sbt assembly: Exclude resources with MergeStrategy (multi-project build)
我有一个多项目 sbt 构建。
我在子项目的 sbt 控制台中。`
在这个子项目的src/main/resources
目录下,我有一个文件:tonglu.conf
我已经尝试了以下所有合并策略。 None 其中排除文件。它仍然出现在程序集 jar 的根目录中
assemblyMergeStrategy in assembly := {
case PathList("src", "main", "resources", xs @ _*) => MergeStrategy.discard
case PathList(ps @ _*) if ps.last endsWith ".html"=> MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith "Log.class" => MergeStrategy.first
case PathList("tonglu.conf", ps @ _*) => MergeStrategy.discard
case PathList(ps @ _*) if ps.last endsWith "tonglu.conf" => MergeStrategy.discard
case PathList(ps @ _*) if ps contains "tonglu.conf" => MergeStrategy.discard
case PathList(ps @ _*) if ps.toString() contains "tonglu.conf" => MergeStrategy.discard
case x => MergeStrategy.first
注意:我很乐意完全删除资源文件夹
我的错误一定出在别处。
以下行有效:
case PathList(ps @ _*) if ps.last endsWith "tonglu.conf" => MergeStrategy.discard
我有一个多项目 sbt 构建。
我在子项目的 sbt 控制台中。`
在这个子项目的src/main/resources
目录下,我有一个文件:tonglu.conf
我已经尝试了以下所有合并策略。 None 其中排除文件。它仍然出现在程序集 jar 的根目录中
assemblyMergeStrategy in assembly := {
case PathList("src", "main", "resources", xs @ _*) => MergeStrategy.discard
case PathList(ps @ _*) if ps.last endsWith ".html"=> MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith "Log.class" => MergeStrategy.first
case PathList("tonglu.conf", ps @ _*) => MergeStrategy.discard
case PathList(ps @ _*) if ps.last endsWith "tonglu.conf" => MergeStrategy.discard
case PathList(ps @ _*) if ps contains "tonglu.conf" => MergeStrategy.discard
case PathList(ps @ _*) if ps.toString() contains "tonglu.conf" => MergeStrategy.discard
case x => MergeStrategy.first
注意:我很乐意完全删除资源文件夹
我的错误一定出在别处。 以下行有效:
case PathList(ps @ _*) if ps.last endsWith "tonglu.conf" => MergeStrategy.discard