我有小測試類是這樣的:Test.scala:1:未使用進口包test.avro
package test.avro
object Test extends App {
import java.io.ByteArrayOutputStream
import com.sksamuel.avro4s.AvroOutputStream
case class Composer(name: String, birthplace: String, compositions: Seq[String])
val ennio = Composer("ennio morricone", "rome", Seq("legend of 1900", "ecstasy of gold"))
val baos = new ByteArrayOutputStream()
val output = AvroOutputStream.json[Composer](baos)
output.write(ennio)
output.close()
print(baos.toString("UTF-8"))
}
具有相關設置:
scalaVersion := "2.11.8"
scalacOptions ++= Seq("-Ywarn-unused-import", "-Xfatal-warnings")
libraryDependencies += "com.sksamuel.avro4s" %% "avro4s-core" % "1.6.1"
當我嘗試編譯它,我收到以下錯誤信息:
[error] [path on my drive...]/src/main/scala/test/avro/Test.scala:1: Unused import
[error] package test.avro
[error]^
[error] one error found
[error] (compile:compileIncremental) Compilation failed
我看到有類似的錯誤報道avro4s issue tracker,但隱含的錯誤將未使用的我M端口。然而,這是在版本1.5.0
- 我使用版本1.6.1
(並嘗試了幾個版本之間檢查,如果這不是一些隨機迴歸)。將avro4j導入到import com.sksamuel.avro4s._
也沒有幫助。
另一方面,錯誤消息類似於this one。我使用Scala 2.11.8,但爲防萬一我檢查是否改爲2.11.7會有幫助(它沒有)。
還有什麼我可以嘗試弄清楚這種怪異行爲的來源是什麼?這是我錯過的東西還是一個錯誤?我應該在哪裏存檔?我懷疑這是ToRecord
特徵宏,但我無法確定。
編輯:刪除"-Ywarn-unused-import"
使事情再次工作 - 我應該假設它是一個庫中的錯誤?