我有scala项目,我使用' assembly'命令在sbt。 我有两个application.conf文件,一个在scala / main中,一个在scala / test文件夹中。
构建jar包含来自test文件夹的application.conf文件,我不想要它。我希望jar包含来自scala / main文件夹的application.conf文件。
如何使用assemble命令在生成的jar中包含该文件。请建议。
答案 0 :(得分:3)
来自README:
如果多个文件共享相同的相对路径(例如,多个依赖项JAR中名为
application.conf
的资源),则默认策略是验证所有候选项具有相同的内容,否则会出错。
因此,如果它没有给您一个错误,那么这两个文件可能是相同的。您可以自定义行为,并明确排除一个行为。以下是您可以添加到build.sbt
的示例配置:
assemblyMergeStrategy in assembly := {
case PathList("scala", "test", "resources", "application.conf") =>
MergeStrategy.discard
case x =>
val defaultStrategy = (assemblyMergeStrategy in assembly).value
defaultStrategy(x)
}