使用如下build.sbt文件:
ThisBuild / organization := "com.company"
ThisBuild / version := "1.0.0-SNAPSHOT"
ThisBuild / scalaVersion := "2.11.12"
Global / concurrentRestrictions += Tags.limit(Tags.Test, 1)
Global / scalacOptions ++= Seq("-Ypartial-unification",
"-unchecked",
"-Xfatal-warnings",
"-Ywarn-dead-code",
"-Ywarn-inaccessible",
"-Ywarn-unused",
"-Ywarn-unused-import",
"-Ywarn-macros:after")
我运行
[error] bad option: '-Ywarn-macros:none'
后得到sbt clean compile
如果没有
-Ywarn-macros:after
,则未使用的导入警告会使用Circe宏在文件中引发虚假警告,例如:import io.circe.{ Decoder, Encoder }
。 最佳答案
在Scala 2.12之前未添加-Ywarn-macros
,因此会出现此错误。
您可以升级到Scala 2.12吗?如果您坚持使用2.11,也许您将需要没有-Ywarn-unused-import
生活。 (由于Som Snytt的不懈努力,总体上,未使用的警告随着2.12.x系列的发展而大大改善。)
您可能可以将“使用循环”的代码限制在一个子项目中,然后仅在该子项目中禁用未使用的警告,以便在其余代码库中将其保持启用状态。
另一种可能性是尝试https://github.com/ghik/silencer。