【问题标题】:Why is the scala-compiler.jar included as library in my artefact为什么 scala-compiler.jar 作为库包含在我的人工制品中
【发布时间】:2021-05-04 00:09:03
【问题描述】:

当我用

构建一个人工制品时

sbt universal:packageZipTarball

scala-compiler.jar 作为库包含在我的人工制品中。

  1. 为什么在运行时需要 scala 编译器?据我了解,它不应该是必需的。
  2. 如何排除这个 jar?

【问题讨论】:

  • 您的依赖项之一可能依赖于它。例如在运行时解释一些代码。
  • 如果它在那里,我不建议排除它,因为@Jasper-M 提到了什么。

标签: scala sbt sbt-native-packager


【解决方案1】:

它可能被您的libraryDependencies 之一作为传递依赖项引入。你可以使用这个 sbt 插件来找出是哪一个: https://github.com/sbt/sbt-dependency-graph

一旦发现,您可以通过将exclude("org.scala-lang", "scala-compiler") 附加到相关依赖项来阻止它。 例如,旧版本的 pureconfig 库用于错误地拉入此依赖项。可以像这样修复它:

libraryDependencies +=
  "com.github.pureconfig" %% "pureconfig" % "0.10.0" exclude("org.scala-lang", "scala-compiler")

【讨论】:

    猜你喜欢
    • 2014-07-15
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多