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 编译标志:
scalacOptions += "-Wconf:src=target/.*:silent"
适用于 Scala 2 和 Scala 3.3+。