如何在 Play Framework 中不监视文件的变化

How to not watch a file for changes in Play Framework

在编译项目时使用 sbt-buildinfo 创建 BuildInfo.scala 文件的 Play Framework 2.2 项目中,如何配置 build.sbt 以便 Play Framework 不会观察 BuildInfo.scala 文件的变化,如果该文件发生变化不会重新启动服务器吗?

例如,如果会话开始于:

$ sbt ~run

并且服务器以开发模式启动,然后在另一个终端 window 启动另一个 sbt 会话(到 运行 另一个子项目,或者只是到 运行其他 sbt 任务),第二个 sbt 会话将更新 BuildInfo.scala 文件,第一个 sbt 会话将检测到这一点并重新加载 Play 项目。

所以问题是如何将BuildInfo.scala排除在监控之外(但仍然编译它并将其包含在分发包中)。

显然 watchSources 配置选项可以提供帮助,但在阅读文档后我不知道如何使用它来排除文件。

要从监视中删除特定文件,您可以在 build.sbt:

中执行
watchSources := watchSources.value.filter { _.getName != "BuildInfo.scala" }

我试图重现基本设置,但对我来说 BuildInfo.scala 文件没有被观看。您可以通过发出 show watchSources.

查看已观看的来源列表