Toren
Toren

Reputation: 6854

sbt exclude artifact with 'exclude'

I am looking to exclude artifact from jar with sbt pattern in build.scala. I have seen few posts but have no clue still.

  [error] deduplicate: different file contents found in the following:
  [error] /home/me/.ivy2/cache/com.datastax.spark/spark-cassandra-connector_2.10/jars/spark-cassandra-connector_2.10-2.0.3.jar:org/objectweb/asm/signature/SignatureWriter.class
  [error] /home/me/.ivy2/cache/org.ow2.asm/asm/jars/asm-5.0.4.jar:org/objectweb/asm/signature/SignatureWriter.class
  [error] deduplicate: different file contents found in the following:
  [error] /home/me/.ivy2/cache/com.datastax.spark/spark-cassandra-connector_2.10/jars/spark-cassandra-connector_2.10-2.0.3.jar:org/objectweb/asm/signature/SignatureVisitor.class
  [error] /home/me/.ivy2/cache/org.ow2.asm/asm/jars/asm-5.0.4.jar:org/objectweb/asm/signature/SignatureVisitor.class

I'd like to exclude org/objectweb/asm

I tired

libraryDependencies ++= Seq(
...
"com.datastax.spark"  %% "spark-cassandra-connector"  % "2.0.3"  exclude("org.objectweb", "asm"), 
...)

Upvotes: 2

Views: 1108

Answers (1)

Ramesh Maharjan
Ramesh Maharjan

Reputation: 41957

you should have done it like

libraryDependencies ++= Seq(
...
"com.datastax.spark"  %% "spark-cassandra-connector"  % "2.0.3"  exclude("org.objectweb.asm", "org.objectweb.asm"), 
...)

you can also do it as

libraryDependencies ++= Seq(
...
"com.datastax.spark"  %% "spark-cassandra-connector"  % "2.0.3", 
...).map(_.exclude("org.objectweb.asm", "org.objectweb.asm"))

if you are using sbt 0.13.8 and above then you can do

libraryDependencies ++= Seq(
...
"com.datastax.spark"  %% "spark-cassandra-connector"  % "2.0.3", 
...)

excludeDependencies += "org.objectweb.asm" % "org.objectweb.asm"

Upvotes: 2

Related Questions