1
我用成功运行我的应用程序的服务器上,在命令行上指定的自定义配置文件:播放全局对象(GlobalSettings)没有被执行
-Dconfig.file=app.conf
但是当我试图复制自定义配置文件到我的本地机器并在那里使用它,通过-Dconfig.file
到run
,奇怪的错误开始出现。我最终将其跟踪到我的Global对象的onStart
方法根本没有被执行。这是为什么发生?
我用成功运行我的应用程序的服务器上,在命令行上指定的自定义配置文件:播放全局对象(GlobalSettings)没有被执行
-Dconfig.file=app.conf
但是当我试图复制自定义配置文件到我的本地机器并在那里使用它,通过-Dconfig.file
到run
,奇怪的错误开始出现。我最终将其跟踪到我的Global对象的onStart
方法根本没有被执行。这是为什么发生?
出于某种原因,类型安全配置库默默地失败在我的自定义配置文件
include "application"
但仅从sbt run
加载该行 - 在服务器上运行应用时,独立的,它的工作。
因此application.global=global.Global
行没有在该文件中读取,因此Play无法找到Global
对象,并且无声地回退到空的Global
对象,该对象不执行任何操作。
更改include
行指定一个绝对文件路径为application.conf
修复了这个问题。
使用'play -Dconfig.file = conf/app.conf'(注意,添加了'conf /'前缀') – vmorarian 2013-05-15 07:11:20