如何让SBT不报告生成代码的编译警告?

sor*_*ega 9 scala sbt

我使用scalaxb-sbt插件生成代码,在编译时会生成大量警告消息.有没有办法隐藏生成的代码或包的编译警告?

dvi*_*vim 7

消音器编译器插件允许抑制编译器警告。它支持按路径过滤文件。这将从警告中过滤掉所有生成的文件:

scalacOptions += "-P:silencer:pathFilters=src_managed"
Run Code Online (Sandbox Code Playgroud)


zag*_*gyi 6

对于 Scala 2.12.13+ 或 2.13.2+

Scala 编译器的最新版本集成了消音器插件,请参阅可配置警告
所以现在你不需要任何插件,只需将以下行添加到build.sbt

ThisBuild / scalacOptions += "-Wconf:src=src_managed/.*:silent"
Run Code Online (Sandbox Code Playgroud)

使用此选项将抑制生成的代码的警告,这些代码src_managed位于源代码树中任意位置的目录下。

这解决了我生成的代码的问题zio-grpc,其中编译器发出警告parameter value evidence$3 in method live is never used(添加此信息只是为了更好的可搜索性)。