Playframework 从Play framework中的外部目录读取配置文件
我知道将Playframework 从Play framework中的外部目录读取配置文件,playframework,sbt,Playframework,Sbt,我知道将application.conf放在应用程序之外有无数的问题,通过使用config.file系统属性来回答,但我们的情况不同 我们有一个Play应用程序,它使用一个库,从类路径中读取自己的配置文件/sys config.xml。无法将其配置为使用其他路径。问题是我们希望它在部署之外,所以我们不能将它放在conf/中,也不能只设置config.file。我们需要在类路径中添加一个任意目录,以便Play应用程序在查找资源时拾取和查找。我尝试设置类路径,但它看起来要么被忽略,要么没有被Acti
application.conf
放在应用程序之外有无数的问题,通过使用config.file
系统属性来回答,但我们的情况不同
我们有一个Play应用程序,它使用一个库,从类路径中读取自己的配置文件
/sys config.xml
。无法将其配置为使用其他路径。问题是我们希望它在部署之外,所以我们不能将它放在conf/
中,也不能只设置config.file
。我们需要在类路径中添加一个任意目录,以便Play应用程序在查找资源时拾取和查找。我尝试设置类路径
,但它看起来要么被忽略,要么没有被Activator/SBT传递。结果表明这只是一个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
。结果表明这只是一个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