Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
3.1.0
-
None
-
None
Description
I have found this issue, while migrating a project from Maven to SBT.
To describe the problem I have created an example project with dependencies that I found to behave differently, depending on the build tool.
https://github.com/atais/mvn-sbt-assembly
The only dependencies are (sbt style)
"com.netflix.astyanax" % "astyanax-cassandra" % "3.9.0", "org.apache.cassandra" % "cassandra-all" % "3.4",
and what I do not understand is, why mvn package creates the fat jar successfully, while sbt assembly gives conflicts:
[error] 39 errors were encountered during merge [error] java.lang.RuntimeException: deduplicate: different file contents found in the following: [error] /home/siatkowskim/.ivy2/cache/org.slf4j/jcl-over-slf4j/jars/jcl-over-slf4j-1.7.7.jar:org/apache/commons/logging/<some classes> [error] /home/siatkowskim/.ivy2/cache/commons-logging/commons-logging/jars/commons-logging-1.1.1.jar:org/apache/commons/logging/<some classes> ... [error] /home/siatkowskim/.ivy2/cache/com.github.stephenc.high-scale-lib/high-scale-lib/jars/high-scale-lib-1.1.2.jar:org/cliffc/high_scale_lib/<some classes> [error] /home/siatkowskim/.ivy2/cache/com.boundary/high-scale-lib/jars/high-scale-lib-1.0.6.jar:org/cliffc/high_scale_lib/<some classes> ...
So I wonder, how come this plugin overcomes this conflicts?
I have also created a SO question, if one would like to earn some points: https://stackoverflow.com/questions/50249818/why-maven-assembly-works-when-sbt-assembly-find-conflicts