2016-09-19 73 views
0

我有一个应用程序使用ConfigFactory从application.conf加载配置:lazy val myConfig = ConfigFactory.load(pathToConfig) application.conf最初位于src/main /资源从已部署的Scala应用程序中的文件夹加载application.conf

当我部署我的应用程序,我希望它加载从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

有了很多尝试,我得到了它的工作卡ling lazy val myConfig = ConfigFactory.load(),没有指定conf文件名或路径。

虽然它解决了我的问题,我仍然不明白为什么用文件名或文件路径调用加载不起作用

相关问题