Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何使SBT不报告生成代码的编译警告?_Scala_Sbt - Fatal编程技术网

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

Scala 如何使SBT不报告生成代码的编译警告?,scala,sbt,Scala,Sbt,我使用scalaxb sbt插件生成代码,该插件在编译时会生成大量警告消息。有没有办法隐藏生成的代码或程序包的编译警告?在sbt控制台中,您可以尝试以下操作: 在compile中设置logLevel:=Level.Error或最终在sourceGenerators中设置logLevel:=Level.Error 并用不同的设置进行实验。一旦您满意,就可以在build.sbt中应用此设置 更详细的信息可以在sbt文档中找到:将代码放入子项目,并在该项目中以不同的方式设置scalacOptions?

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

在sbt控制台中,您可以尝试以下操作:
在compile中设置logLevel:=Level.Error
或最终在sourceGenerators中设置logLevel:=Level.Error 并用不同的设置进行实验。一旦您满意,就可以在
build.sbt
中应用此设置


更详细的信息可以在sbt文档中找到:

将代码放入子项目,并在该项目中以不同的方式设置
scalacOptions
?这是否有效取决于scalac中是否存在用于抑制您收到的特定类型警告的支持。例如,见。您需要确切地抑制哪些类型的警告?某些警告,如未经检查的警告,可以使用
@unchecked
抑制,而无需执行子项目操作。

我发现我需要在编译中设置日志级别:=Level.Error以使其正常工作。这是在
Compile
中使用大写字母
C
。这是sbt版本的
0.13.11
。不过,这也可以关闭所有警告。

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

scalacOptions+=“-P:signer:pathFilters=src\u managed”
适用于Scala 2.12.13+或2.13.2+ Scala编译器的最新版本集成了消音器插件,请参阅。
因此,现在您不需要任何插件,只需将以下行添加到
build.sbt

ThisBuild/scalacOptions+=“-Wconf:src=src\u managed/*:silent”
使用此选项将禁止对位于源代码树中名为
src_managed
目录下的生成代码发出警告


这就解决了我在由
zio grpc
生成的代码中遇到的问题,其中编译器发出了警告,如
参数值证据$3 in method live从未使用过(添加此信息只是为了更好的搜索性)。

关闭了所有警告,我要求有选择地这样做。我还需要添加我的项目,如:
set logLevel in search in Compile:=Level.Error
Awesome,感谢文档参考。