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

アプリケーションをアセンブルしたら、アンパックしてその内容を確認します。ファイルの場所の不一致は、 assemblyMappingsで解決できる可能性があります。

于 2014-06-12T15:15:31.117 に答える
0

私も同じ問題を抱えていました。にAwsCredentials.propertiesファイルがありましたsrc/main/javasbt-assemblyこれは、Eclipse プロジェクト フォルダーから実行したときに正常に機能しました。

ただし、sbt-assembly日食のない別のマシンで実行したとき、それはAwsCredentials.properties太った瓶に入れられませんでした。

それで私はに移動AwsCredentials.propertiesしましたsrc/main/resources、そしてそれはそれを修正しました。

于 2015-04-14T02:01:01.350 に答える