【问题标题】:How to suppress Warning by sbt compile如何通过 sbt compile 抑制警告
【发布时间】:2020-02-14 21:08:01
【问题描述】:

我目前正在处理项目,我的项目运行良好并且正在运行。但是我想在运行sbt compile 时抑制警告。当我运行sbt compile 时,我不希望我的终端显示警告。

[warn] /Users/kumarshubham/Documents/repositories/alice/app/misc/QueryDB.scala:14: imported `QueryString' is permanently hidden by   definition of class QueryString in package misc
[warn] import misc.QueryString
[warn]             ^
[warn] /Users/kumarshubham/Documents/repositories/alice/app/misc/QueryDB.scala:26: method apply in trait WithResult is deprecated: Use   [[fold]], [[foldWhile]] or [[withResult]] instead, which manages resources and memory
[warn]       val resultSet = query().map(
[warn]                       ^
[warn] /Users/kumarshubham/Documents/repositories/alice/app/misc/QueryDB.scala:58: method apply in trait WithResult is deprecated: Use [[fold]], [[foldWhile]] or [[withResult]] instead, which manages resources and memory
[warn]       val resultSet = query().map(
[warn]                       ^
[warn] /Users/kumarshubham/Documents/repositories/alice/app/misc/QueryDB.scala:89: method apply in trait WithResult is deprecated: Use [[fold]], [[foldWhile]] or [[withResult]] instead, which manages resources and memory
[warn]       val resultSet = query().map(
[warn]                       ^
[warn] /Users/kumarshubham/Documents/repositories/alice/app/misc/QueryDB.scala:121: method apply in trait WithResult is deprecated: Use [[fold]], [[foldWhile]] or [[withResult]] instead, which manages resources and memory
[warn]         val resultSet = query().map(
[warn]                         ^
[warn] /Users/kumarshubham/Documents/repositories/alice/app/misc/QueryDB.scala:329: method apply in trait WithResult is deprecated: Use [[fold]], [[foldWhile]] or [[withResult]] instead, which manages resources and memory
[warn]       val resultSet = query().map(
[warn]                       ^
[warn] /Users/kumarshubham/Documents/repositories/alice/app/misc/QueryDB.scala:351: method apply in trait WithResult is deprecated: Use [[fold]], [[foldWhile]] or [[withResult]] instead, which manages resources and memory
[warn]       val resultSet = query().map(
[warn]                       ^
[warn] 7 warnings found

【问题讨论】:

  • 您想完全关闭整个项目的警告吗?
  • @Mysterion 是的
  • 在不知道具体情况的情况下,我的一般做法是消除警告的原因,而不是压制它
  • 在我的例子中,我在javac 下生成了很多编译时没有警告的java 代码,但是scalac 会产生关于Collection<Class> 之类的警告。修复生成器很难,所以我只想忽略它们。

标签: scala logging sbt suppress-warnings


【解决方案1】:

SBT 文档有一本关于如何更新整个项目或仅用于一项任务的日志记录级别的完美手册。

你需要做这样的事情:

set logLevel in compile := Level.Error

如果您想在 sbt 文件中设置此级别,您可以通过将此行添加到您的 build.sbt 文件中来做到这一点

logLevel := Level.Error 

此外,如果您只想为 compile 任务指定 logLevel,这将有点棘手,因为您可能还需要为相关任务设置级别.

欲了解更多信息,请查看此处 - http://www.scala-sbt.org/release/docs/Howto-Logging.html

【讨论】:

  • 我想要一些可以放入 build.sbt 的东西
  • 这是一个全局日志级别。如何通知 SBT 我们在这行特定的代码中知道此警告并且我们对此感到满意?有办法吗?
猜你喜欢
  • 2014-01-20
  • 2020-11-09
  • 2019-02-25
  • 2011-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-09
相关资源
最近更新 更多