我目前正在使用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)
答案 0 :(得分:0)
组装应用程序时,请将其解压缩以查看其内容。文件位置的任何差异都可能通过assembledMappings解决。
答案 1 :(得分:0)
我遇到了同样的问题。我在AwsCredentials.properties
中有src/main/java
个文件。当我从我的eclipse项目文件夹中运行sbt-assembly
时,这很好用。
但是,当我在没有eclipse的另一台机器上运行sbt-assembly
时,它没有将AwsCredentials.properties
放入胖罐中。
所以我将AwsCredentials.properties
移到src/main/resources
,并修复了它。