Francisco Gutiérrez
Francisco Gutiérrez

Reputation: 1393

SBT - Assembly (Scala - Neo4j), How to deal with this deduplicate issue?

just trying to generate a Jar with sbt-assembly and I'm still trapped with this:

[error] (*:assembly) deduplicate: different file contents found in the following:
[error] /Users/fsalvador/.ivy2/cache/org.neo4j/neo4j-kernel/jars/neo4j-kernel-1.9.4.jar:META-INF/CHANGES.txt
[error] /Users/fsalvador/.ivy2/cache/org.neo4j/neo4j-lucene-index/jars/neo4j-lucene-index-1.9.4.jar:META-INF/CHANGES.txt
[error] /Users/fsalvador/.ivy2/cache/org.neo4j/neo4j-graph-algo/jars/neo4j-graph-algo-1.9.4.jar:META-INF/CHANGES.txt
[error] /Users/fsalvador/.ivy2/cache/org.neo4j/neo4j-udc/jars/neo4j-udc-1.9.4.jar:META-INF/CHANGES.txt
[error] /Users/fsalvador/.ivy2/cache/org.neo4j/neo4j-cypher/jars/neo4j-cypher-1.9.4.jar:META-INF/CHANGES.txt
[error] /Users/fsalvador/.ivy2/cache/org.neo4j/neo4j-jmx/jars/neo4j-jmx-1.9.4.jar:META-INF/CHANGES.txt

in my build.sbt I have tried the following:

mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) => {
    case PathList("ivy2", "cache",  "org.neo4j", xs @ _*) => MergeStrategy.last
    case "CHANGES.txt"     => MergeStrategy.discard
    case x => old(x)
  }
}

And still no joy, tried almost everything.

Upvotes: 2

Views: 633

Answers (2)

Eve Freeman
Eve Freeman

Reputation: 33175

Did you try a simpler:

mergeStrategy in assembly := mergeStrategy.first

Update, don't do this, please see comments

Upvotes: -3

Eugene Yokota
Eugene Yokota

Reputation: 95654

PathList(...) extractor splits up the path string. The following should work:

mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) => {
    case PathList("META-INF", "CHANGES.txt") => MergeStrategy.discard
    case x => old(x)
  }
}

Upvotes: 8

Related Questions