我有一个使用ConfigFactory从application.conf加载配置的应用程序:lazy val myConfig = ConfigFactory.load(pathToConfig) application.conf最初位于src / main / resources
中当我部署我的应用程序时,我希望它从APP_HOME / conf / application.conf加载配置
为此,我在构建Rmp时从资源文件夹中排除了application.conf,并且已将我的APP_HOME / conf添加到类路径中。
jar {
exclude '*.conf'
}
和
startScripts {
classpath += files('src/main/resources')
doLast {
def windowsScriptFile = file getWindowsScript()
def unixScriptFile = file getUnixScript()
println('unix script is ' + unixScriptFile.text)
windowsScriptFile.text = windowsScriptFile.text.replace('%APP_HOME%\\lib\\resources', '%APP_HOME%\\conf')
unixScriptFile.text = unixScriptFile.text.replace('\$APP_HOME/lib/resources', '\$APP_HOME/conf')
println('after unix script is ' + unixScriptFile.text)
}
}
奇怪的是,当我修改$ APP_HOME / conf / application.conf并重新启动应用程序时,未获取更改:即旧配置仍在使用
任何想法可能会导致这种情况或如何打印配置的位置都会有所帮助
答案 0 :(得分:0)
经过多次尝试,我通过调用lazy val myConfig = ConfigFactory.load()来实现它,而没有指定conf文件名或路径。
虽然它解决了我的问题但我仍然不明白为什么用文件名或文件路径调用load不起作用