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