I think you're close. Make sure that you add any rewiring after assemblySettings
are loaded, and also pass any patterns you're not handling to the default strategy:
assemblySettings
mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) =>
{
case PathList("javax", "xml", xs @ _*) => MergeStrategy.first
case _ => old
}
}