Scala 播放框架配置包括带dist的中断

Scala 播放框架配置包括带dist的中断,scala,playframework,configuration-files,Scala,Playframework,Configuration Files,我们使用play框架构建了一个复杂的应用程序。应用程序分为不同的部分。网站、爬虫程序和所有其他程序都使用类似的类和配置文件。为了解决这个问题,我们将它们集中到play应用程序根目录下的一个文件夹中 在开发中,类的import语句和include语句可以很好地加载多个配置文件。在生产环境中,我们曾经部署dist版本的代码,但是include停止工作,因为它们都有相对路径 我们尝试-Dconfig.file加载父级。该文件已添加到生成的zip文件夹中,但无法找到包含的文件 有人知道如何“编译”或集中

我们使用play框架构建了一个复杂的应用程序。应用程序分为不同的部分。网站、爬虫程序和所有其他程序都使用类似的类和配置文件。为了解决这个问题,我们将它们集中到play应用程序根目录下的一个文件夹中

在开发中,类的import语句和include语句可以很好地加载多个配置文件。在生产环境中,我们曾经部署dist版本的代码,但是include停止工作,因为它们都有相对路径

我们尝试-Dconfig.file加载父级。该文件已添加到生成的zip文件夹中,但无法找到包含的文件

有人知道如何“编译”或集中配置文件以便play加载所有配置文件吗


谢谢您的帮助。

我也遇到了同样的问题,我发现我必须为-Dconfig.file指定完整路径,以便其中的include部分可以工作

i、 e

./start-Dconfig.file=/path/to/dir/production.conf

编辑在play 2.2中,可分发的zip结构已更改,现在有一个带有应用程序名称脚本的bin dir,因此:

    /path/to/dir -->
     production.conf = {include "application.conf" and some overrides}
     bin/my-app

     ./bin/my-app -Dconfig.file=/path/to/dir/production.conf

所以我不清楚这是怎么回事,但我会尽力解释一下大局

为了允许多个项目使用“外部”配置文件,我们创建了另一个项目。这个新项目是一种图书馆。它保存多个项目和配置文件中使用的所有对象

每个项目都有这个“核心”项目作为依赖项。当我们要求play创建分发包时,这允许play将所有代码合并到一个zip文件中


希望这有帮助。

我们在项目中使用sbt assembly来打包应用程序。然后,在部署它时,我们将配置文件夹放在类路径上,并从该文件夹加载配置。希望这有帮助,这对我们不起作用,因为config包含多个include。第一个配置被添加到zip中,但是其他配置被忘记了。仍然发生在2.3上。这种行为没有记录在案,在生产中部署时经常会破坏。这是一个很好的理由吗?
    /path/to/dir -->
     production.conf = {include "application.conf" and some overrides}
     bin/my-app

     ./bin/my-app -Dconfig.file=/path/to/dir/production.conf