2016-07-22 5 views
0

私はsbtで 'assembly'コマンドを使ってjarファイルを作成するscalaプロジェクトを持っています。 私は2つのapplication.confファイルを1つはscala/mainに、もう1つはscala/testフォルダにあります。なぜscalaアセンブリにjarのテストフォルダからapplication.confファイルが含まれていますか?

ビルドjarにはテストフォルダのapplication.confファイルが含まれていますが、これは必要ありません。 jarファイルにscala/mainフォルダのapplication.confファイルが含まれています。

アセンブルコマンドを使用して生成されたjarにそのファイルを含める方法。 plsが提案する。 READMEから

答えて

3

複数のファイルが同じ相対パス(複数の依存JARファイル内application.confという名前などのリソースを)共有している場合、デフォルトの戦略は、すべての候補者が同じ内容を持っているとアウトエラーことを確認することですさもないと。

エラーが表示されない場合、2つのファイルはおそらく同じです。ビヘイビアーをカスタマイズし、明示的にそれを除外することができます。 build.sbtに追加できる設定例は次のとおりです。

assemblyMergeStrategy in assembly := { 
    case PathList("scala", "test", "resources", "application.conf") => 
    MergeStrategy.discard 
    case x => 
    val defaultStrategy = (assemblyMergeStrategy in assembly).value 
    defaultStrategy(x) 
} 
関連する問題