Куда указывает AssemblyMergeStrategy PathList? - PullRequest
0 голосов
/ 22 января 2019

У меня есть проблема с использованием assemblyMergeStrategy.Я заметил, что некоторые папки не были объединены в моем выходном сообщении компиляции sbt.Я знаю, что могу настроить стратегию на build.sbt, но я не уверен, как найти пример объединенных папок, на который указывает на pathList в файле AssemblyMergeStrategy?Пример в коде ниже, META-INF.

Я выполнил поиск в своем собственном проекте, и эта папка находится в папке Target, но как sbt узнал об этой папке при самой первой компиляции, где целевая папка не была создана?

Как включить в проект конкретную папку, которую я хотел объединить?

assemblyJarName in assembly := s"${name.value}-${version.value}.jar"
assemblyOption in assembly := (assemblyOption in 
assembly).value.copy(cacheUnzip = false)
// assemblyOption in assembly := (assemblyOption in 
assembly).value.copy(cacheOutput = false)
assemblyMergeStrategy in assembly := {
  case PathList("META-INF", xs @ _*) => MergeStrategy.discard
  case x => MergeStrategy.first
}
...