У меня есть проект с несколькими зависимостями, которые в конечном итоге приводят к зависимости от следующего (я получил их от sbt- подключаемый модуль графика зависимостей):
commons-beanutils:commons-beanutils:1.7.0
commons-beanutils:commons-beanutils-core:1.8.0
Как следствие, когда я пытаюсь создать толстый JAR с помощью sbt-assembly, происходит сбой с дедупликацией. ошибки как:
[error] deduplicate: different file contents found in the following:
[error] /Users/someuser/.ivy2/cache/commons-beanutils/commons-beanutils/jars/someuser-beanutils-1.7.0.jar:org/apache/commons/beanutils/BasicDynaBean.class
[error] /Users/someuser/.ivy2/cache/commons-beanutils/commons-beanutils-core/jars/commons-beanutils-core-1.8.0.jar:org/apache/commons/beanutils/BasicDynaBean.class
Поскольку мне нужны обе зависимости, я попытался затенить одну из них, используя следующее правило:
ShadeRule.rename("org.apache.commons.beanutils.**" -> "shadedstuff.beanutils.@1").inLibrary("commons-beanutils" % "commons-beanutils" % "1.7.0").inAll
Но затем я получаю следующую ошибку:
[error] deduplicate: different file contents found in the following:
[error] /Users/someuser/.ivy2/cache/commons-beanutils/commons-beanutils/jars/someuser-beanutils-1.7.0.jar:shadedstuff/beanutils/BasicDynaBean.class
[error] /Users/someuser/.ivy2/cache/commons-beanutils/commons-beanutils-core/jars/commons-beanutils-core-1.8.0.jar:shadedstuff/beanutils/BasicDynaBean.class
Как будто процесс затенения применяется к обоим артефактам. Как затенить конкретный артефакт?