从Play框架中的外部目录中读取配置文件

时间:2015-06-25 15:49:17

标签: playframework sbt

我知道将application.conf放在应用程序之外有无数问题,使用config.file系统属性回答,但我们有不同的情况。

我们有一个Play应用程序,它使用一个库,它从类路径中读取自己的配置文件为/sys-config.xml。它不能配置为使用不同的路径。问题是我们希望这不在部署之内,因此我们无法将其放在conf/中,我们无法设置config.file。我们需要在类路径中添加一个任意目录,以便Play应用程序在查找资源时选择并查找。我已尝试设置CLASSPATH但看起来它被忽略,或者没有被Activator / SBT传递。

1 个答案:

答案 0 :(得分:0)

原来这只是一个SBT的事情,你只需要添加一些你可以从你选择的系统属性中获取的externalDependencyClasspath

externalDependencyClasspath in Runtime ++= sys.props.get("config.dir")
  .map(f => Seq(file(f)))
  .getOrElse(Nil)

我们现在可以运行./activator -Dconfig.dir=/var/xyz run,它会在该目录中找到application.confsys-config.xml