0

我目前正在使用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)
4

2 回答 2

0

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

于 2014-06-12T15:15:31.117 回答
0

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

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

所以我搬进AwsCredentials.propertiessrc/main/resources,这解决了它。

于 2015-04-14T02:01:01.350 回答