【问题标题】:Upgrading to Scala 2.13 giving scalaoptions error升级到 Scala 2.13 给出 scalaoptions 错误
【发布时间】:2020-07-23 18:51:41
【问题描述】:

我刚刚升级到 Scala 最新版本 2.13.2,现在我解决了所有依赖项。 IntelliJ sbt refresh 内部工作正常,但是当我构建项目时出现此错误:

Error: scalac: 'by-name-right-associative' is not a valid choice for '-Xlint'
Error: scalac: 'nullary-override' is not a valid choice for '-Xlint'
Error: scalar: 'unsound-match' is not a valid choice for '-Xlint'
Error: scala: bad option: '-Yno-adapted-args'

不,不知道该怎么办,我尝试到处检查,但无法解决。 有人可以帮忙吗?

【问题讨论】:

标签: scala sbt


【解决方案1】:

您的 build.sbt(或其中导入的一些插件)正在为 scalac 设置这些选项。你可以在那里找到类似的东西:

scalacOptions ++= Seq(
  ...
  "-Xlint:by-name-right-associative",
  ...
  "-Xlint:nullary-override",
  ...
  "-Xlint:unsound-match",
  ...
  "-Yno-adapted-args",
 ...
)

添加了对 Scala 2.13 无效的选项。删除它们后,一切都会好起来的。

要找到它们,您可以使用inspect scalacOptions 列出修改此设置的所有位置,然后查看那里以摆脱它们。如果这是在某些您无法编辑的插件中,您可以随时“手动”删除它们:

scalacOptions --= Seq(
  "-Xlint:by-name-right-associative",
  "-Xlint:nullary-override",
  "-Xlint:unsound-match",
  "-Yno-adapted-args"
)

【讨论】:

  • 也许 OP 有一个过时的 sbt-tpolecat 版本——这是一个流行的 sbt 插件,用于设置 scalacOptions
猜你喜欢
  • 2021-11-02
  • 1970-01-01
  • 1970-01-01
  • 2020-02-14
  • 1970-01-01
  • 2020-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多