Play框架配置包括dist的break

时间:2013-06-01 16:13:24

标签: scala playframework configuration-files

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

在开发中,类和import语句的import语句,加载多个配置文件,工作正常。在生产中,我们曾经使用dist版本的代码,但所有具有相对路径的includes都停止工作。

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

有没有人知道如何“编译”或集中配置文件以进行播放以加载它们?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

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

即。

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

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

在游戏2.2中

编辑更改了可分发的zip结构,现在有一个带有应用程序名称脚本的bin目录,所以:

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

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

答案 1 :(得分:0)

所以我不清楚它是如何工作的,但我会试着解释一下大局。

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

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

希望这有帮助。