gpt4 book ai didi

scala - 从已部署的Scala应用中的文件夹加载application.conf

转载 作者:行者123 更新时间:2023-12-03 06:04:29 24 4
gpt4 key购买 nike

我有一个使用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并重新启动应用程序时,所做的更改不会被使用:即,仍在使用旧配置

任何可能导致此问题的原因或如何在加载配置的位置打印的想法都将有所帮助

最佳答案

经过多次尝试,我通过调用lazy val myConfig = ConfigFactory.load()而不指定conf文件名或路径来使其工作。

尽管它解决了我的问题,但我仍然不明白为什么用文件名或文件路径调用load无效

关于scala - 从已部署的Scala应用中的文件夹加载application.conf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39571229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com