【问题标题】:sbt package: exclude Python files in JAR filesbt 包:排除 JAR 文件中的 Python 文件
【发布时间】:2019-10-08 03:53:59
【问题描述】:

我想弄清楚如何从sbt package 命令生成的JAR 文件中排除Python 文件。

Delta lake project 使用 SBT 版本 0.13.18,而 JAR 文件是使用 sbt package 构建的。

目录结构如下:

python/
  delta/
    testing/
      utils.py
  tests/
    test_sql.py
src/
  main/
    ...scala files
build.sbt
run-tests.py

它遵循标准 SBT 项目结构,并添加了几个 Python 文件。

运行sbt package 时,Python 文件包含在 JAR 文件中,我想弄清楚如何排除所有 Python 文件。

这是我尝试添加到 build.sbt 文件的内容:

  1. mappings in (Compile, packageBin) ~= { _.filter(!_._1.getName.endsWith("py")) }this answer
  2. excludeFilter in Compile := "*.py"this answer

这些都不起作用。

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    还没有测试过,但是当你做一个胖罐子时,我想这样。

    assemblyMergeStrategry in assembly := {
      case PathList(parts @ _*) if parts.last.endsWith(".py") => MergeStrategy.discard
      case _ => MergeStrategy.first // or whatever you currently have for your other merges
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-04
      • 2017-10-17
      • 2015-11-06
      • 2022-01-24
      • 2019-03-12
      • 1970-01-01
      • 2020-12-24
      • 2017-10-16
      相关资源
      最近更新 更多