运行sbt-assembly的应用程序时如何访问配置文件?

时间:2014-06-12 04:17:58

标签: scala sbt sbt-assembly

我目前正在使用sbt-assembly将我的Scala项目放入jar中。

在这个程序中,我有多个配置文件:

\root    
    aws.properties
    \src
        \resource
            application.conf    

使用sbt或IDE运行程序时没有问题。

但是,当我将其设为jar时,应用程序无法找到配置文件,因此无法启动。

有没有办法告诉sbt-assembly文件在哪里?

更新

以下是我尝试访问配置文件的方法:

val configPath: String = ConfigFactory.load.getConfig("aws").getString("configFile")
val regionName = ConfigFactory.load.getConfig("aws").getString("region")
val credentialFile: File = new File(credentialFilePath)
val credentials: AWSCredentials = new PropertiesCredentials(credentialFile)

2 个答案:

答案 0 :(得分:0)

组装应用程序时,请将其解压缩以查看其内容。文件位置的任何差异都可能通过assembledMappings解决。

答案 1 :(得分:0)

我遇到了同样的问题。我在AwsCredentials.properties中有src/main/java个文件。当我从我的eclipse项目文件夹中运行sbt-assembly时,这很好用。

但是,当我在没有eclipse的另一台机器上运行sbt-assembly时,它没有将AwsCredentials.properties放入胖罐中。

所以我将AwsCredentials.properties移到src/main/resources,并修复了它。