Heroku 以 Play 子项目为主

Heroku takes Play subproject as main

我有一个 Play 2.3 应用程序,它包含一个带有 2 个子项目的根。 运行 在本地时一切正常。

当我将应用程序部署到 Heroku 时,它错误地假定我的子项目之一是主项目,因此我只能访问该子项目的路由。

我阅读了一些有关字母顺序的内容,因此我负责重命名我的项目 rootrootAdminrootCommon,但这并没有太大帮助。

有没有办法告诉 Heroku 哪一个是真正的 "main" 项目?也许通过 build.sbt?

这与 Heroku 没有任何关系。问题原来是我子项目的 application.conf:

中的一个条目

application.router=rootadmin.Routes

我的子项目的 application.conf 不知何故在主 application.conf 之后被读取并且上面的条目优先 - 所以这就是为什么只能访问来自子项目的路由。

我添加了上面的代码行是为了能够将我的子项目开发为一个独立的应用程序 - 所以我需要以某种方式 运行 它。现在我看到我跳过了提到这个用例的文档的一部分:

To use a specific set of settings in development mode for a sub project, it would be even better to put these settings into the build file, e.g. Keys.devSettings += ("application.router", "admin.Routes").

这意味着该行现在是我的 build.sbt 的一部分,不需要驻留在 application.conf