如何抑制 Play Framework 路由文件中的弃用警告

问题描述 投票:0回答:1

我有一个 Play Framework 应用程序,其中

routes
文件使用已弃用的控制器方法:

GET    /my-endpoint/this-is-deprecated    com.example.controllers.MyController.getThisIsDeprecated
@Singleton
class MyController @Inject() (cc: ControllerComponents) extends AbstractController(cc) {
  @Deprecated
  def getThisIsDeprecated = // Implementation goes here
}

我希望调用这个已弃用的方法,直到我的客户迁移其实现以不再使用它。 那时,我将删除端点并删除已弃用的方法。

编译项目时,我收到弃用警告,因为

routes
文件引用了已弃用的方法:

[warn] /Users/Me/my-project/src/main/resources/routes:699:1: method getThisIsDeprecated in class MyController is deprecated
[warn] GET    /my-endpoint/this-is-deprecated    com.example.controllers.MyController.getThisIsDeprecated
[warn] /Users/Me/my-project/src/main/resources/routes:699:1: method getThisIsDeprecated in class MyController is deprecated
[warn] GET    /my-endpoint/this-is-deprecated    com.example.controllers.MyController.getThisIsDeprecated
[warn] two warnings found

我不希望在构建时输出警告。 但是,我确实希望对我的项目中其他已弃用的方法的使用发出警告。

如果这是 Scala 代码,我会使用

@nowarn("cat=deprecation")
。 然而,路由文件不是 Scala,所以这不起作用。

我怎样才能抑制这个弃用警告?

scala routes playframework
1个回答
0
投票

对于这些情况,更普遍的是,为了避免在我们不拥有的生成代码中出现警告/错误,我们使用以下 Scala 编译标志:

scalacOptions += "-Wconf:src=target/.*:silent"

适用于 Scala 2 和 Scala 3.3+

© www.soinside.com 2019 - 2024. All rights reserved.