【问题标题】:sbt assembly: Exclude resources with MergeStrategy (multi-project build)sbt 程序集:使用 MergeStrategy 排除资源(多项目构建)
【发布时间】:2019-08-02 07:54:06
【问题描述】:

我有一个多项目 sbt 构建。

我在一个子项目的 sbt 控制台中。`

在这个子项目的src/main/resources目录下,我有一个文件:tonglu.conf

我已经尝试了以下所有合并策略。他们都不排除该文件。它仍然出现在程序集 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

注意:我很乐意完全删除资源文件夹

【问题讨论】:

    标签: sbt sbt-assembly


    【解决方案1】:

    我的错误一定是在其他地方。 以下行有效:

    case PathList(ps @ _*) if ps.last endsWith "tonglu.conf"                        => MergeStrategy.discard
    

    【讨论】:

      猜你喜欢
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      • 2013-12-06
      • 2015-03-11
      • 1970-01-01
      • 2014-12-04
      • 2018-11-18
      • 1970-01-01
      相关资源
      最近更新 更多