我们使用play框架构建了一个复杂的应用程序。该应用程序分为不同的部分。网站,爬虫和所有其他人使用类似的类和配置文件。为了解决这个问题,我们将它们集中到了播放应用程序根目录下的文件夹中。
在开发中,类和import语句的import语句,加载多个配置文件,工作正常。在生产中,我们曾经使用dist版本的代码,但所有具有相对路径的includes都停止工作。
我们尝试使用-Dconfig.file来加载父级。该文件已添加到生成的zip文件夹中,但所包含的文件无法找到。
有没有人知道如何“编译”或集中配置文件以进行播放以加载它们?
感谢您的帮助。
答案 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文件中合并所有代码。
希望这有帮助。