我们有一个使用play框架构建的复杂应用程序。应用程序被分成不同的部分。该网站、爬虫和所有其他爬虫都使用类似的类和配置文件。为了解决这个问题,我们将它们集中到play应用程序根目录下的一个文件夹中。
在开发中,类的import语句和include语句可以很好地加载多个配置文件。在生产环境中,我们曾经部署dist版本的代码,但是都有相对路径的includes停止工作。
我们尝试了-Dconfig.file来加载父进程。该文件已添加到生成的zip文件夹中,但其中包含的文件找不到。
有没有人知道如何“编译”或集中配置文件来加载所有配置文件?
谢谢你的帮助。
发布于 2013-06-17 15:53:07
我也遇到了同样的问题,我发现我必须指定-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
在play 2.2中编辑可分发压缩文件的结构发生了变化,现在有一个包含应用程序名称脚本的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发布于 2013-06-18 23:31:49
所以我不清楚这是如何工作的,但我会试着解释一下大局。
为了允许多个项目使用“外部”配置文件,我们创建了另一个项目。这个新项目是一种库。它保存了多个项目中使用的所有对象和配置文件。
每个项目都有这个“核心”项目作为依赖项。这允许play,当我们要求它创建分发包时,将所有代码合并到一个zip文件中。
希望这能有所帮助。
https://stackoverflow.com/questions/16874657
复制相似问题