sbt deduplicate:以下内容中找到的不同文件内容:

时间:2015-12-10 16:35:23

标签: scala apache-spark sbt datastax sbt-assembly

我知道这个问题已被多次询问(和回答),但现有的答案并没有解决我的问题。

我正按照DataStax spark-cassandra-connector

尝试构建this tutorial(标记v1.5.0-M3)
./sbt/sbt assembly

但我收到以下错误

java.lang.RuntimeException: deduplicate: different file contents found in the following:
/Users/me/.ivy2/cache/io.netty/netty/bundles/netty-3.8.0.Final.jar:META-INF/jboss-beans.xml
/Users/me/.ivy2/cache/org.jboss.netty/netty/bundles/netty-3.2.2.Final.jar:META-INF/jboss-beans.xml
    at sbtassembly.Assembly$.sbtassembly$Assembly$$applyStrategy$1(Assembly.scala:106)
    at sbtassembly.Assembly$$anonfun$13.apply(Assembly.scala:123)
    at sbtassembly.Assembly$$anonfun$13.apply(Assembly.scala:120)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
    at scala.collection.Iterator$class.foreach(Iterator.scala:727)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
    at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
    at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
    at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
    at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
    at sbtassembly.Assembly$.applyStrategies(Assembly.scala:125)
    at sbtassembly.Assembly$.x$1$lzycompute$1(Assembly.scala:25)
    at sbtassembly.Assembly$.x$1$1(Assembly.scala:23)
    at sbtassembly.Assembly$.stratMapping$lzycompute$1(Assembly.scala:23)
    at sbtassembly.Assembly$.stratMapping$1(Assembly.scala:23)
    at sbtassembly.Assembly$.inputs$lzycompute$1(Assembly.scala:67)
    at sbtassembly.Assembly$.inputs$1(Assembly.scala:57)
    at sbtassembly.Assembly$.apply(Assembly.scala:83)
    at sbtassembly.Assembly$$anonfun$assemblyTask$1.apply(Assembly.scala:226)
    at sbtassembly.Assembly$$anonfun$assemblyTask$1.apply(Assembly.scala:223)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:235)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
java.lang.RuntimeException: deduplicate: different file contents found in the following:
/Users/me/.ivy2/cache/org.apache.spark/spark-network-common_2.10/jars/spark-network-common_2.10-1.5.1.jar:META-INF/maven/com.google.guava/guava/pom.properties
/Users/me/.ivy2/cache/com.google.guava/guava/bundles/guava-16.0.1.jar:META-INF/maven/com.google.guava/guava/pom.properties
    at sbtassembly.Assembly$.sbtassembly$Assembly$$applyStrategy$1(Assembly.scala:106)
    at sbtassembly.Assembly$$anonfun$13.apply(Assembly.scala:123)
    at sbtassembly.Assembly$$anonfun$13.apply(Assembly.scala:120)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
    at scala.collection.Iterator$class.foreach(Iterator.scala:727)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
    at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
    at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
    at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
    at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
    at sbtassembly.Assembly$.applyStrategies(Assembly.scala:125)
    at sbtassembly.Assembly$.x$1$lzycompute$1(Assembly.scala:25)
    at sbtassembly.Assembly$.x$1$1(Assembly.scala:23)
    at sbtassembly.Assembly$.stratMapping$lzycompute$1(Assembly.scala:23)
    at sbtassembly.Assembly$.stratMapping$1(Assembly.scala:23)
    at sbtassembly.Assembly$.inputs$lzycompute$1(Assembly.scala:67)
    at sbtassembly.Assembly$.inputs$1(Assembly.scala:57)
    at sbtassembly.Assembly$.apply(Assembly.scala:83)
    at sbtassembly.Assembly$$anonfun$assemblyTask$1.apply(Assembly.scala:226)
    at sbtassembly.Assembly$$anonfun$assemblyTask$1.apply(Assembly.scala:223)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:235)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
[error] (spark-cassandra-connector-java/*:assembly) deduplicate: different file contents found in the following:
[error] /Users/me/.ivy2/cache/io.netty/netty/bundles/netty-3.8.0.Final.jar:META-INF/jboss-beans.xml
[error] /Users/me/.ivy2/cache/org.jboss.netty/netty/bundles/netty-3.2.2.Final.jar:META-INF/jboss-beans.xml
[error] (spark-cassandra-connector/*:assembly) deduplicate: different file contents found in the following:
[error] /Users/me/.ivy2/cache/org.apache.spark/spark-network-common_2.10/jars/spark-network-common_2.10-1.5.1.jar:META-INF/maven/com.google.guava/guava/pom.properties
[error] /Users/me/.ivy2/cache/com.google.guava/guava/bundles/guava-16.0.1.jar:META-INF/maven/com.google.guava/guava/pom.properties
[error] Total time: 44 s, completed 10-Dec-2015 16:22:01

我读过的任何建议答案(例如this one)都是指build.sbt文件中所需的更改,但在我的情况下,我没有这样的文件。在project目录中我有

.
├── BuildUtil.scala
├── CassandraSparkBuild.scala
├── Publish.scala
├── Settings.scala
├── SparkInstaller.scala
├── Versions.scala
├── build.properties
├── plugins.sbt
├── project
└── target

2 directories, 8 files

所以我不知道要编辑哪些文件以及需要编辑哪些文件。我在OSX上并安装了以下版本

  • Spark 1.5.2
  • Java 1.8.0_45
  • Scala 2.11.7
  • sbt 0.13.9

更新

如果我关注the instruction here并为Scala 2.11构建,我会收到以下提示

$ sbt -Dscala-2.11=true
[info] Loading project definition from /usr/local/share/spark-cassandra-connector/project
[info] Updating {file:/usr/local/share/spark-cassandra-connector/project/}spark-cassandra-connector-build...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
Using releases: https://oss.sonatype.org/service/local/staging/deploy/maven2 for releases
Using snapshots: https://oss.sonatype.org/content/repositories/snapshots for snapshots

  Scala: 2.11.7
  Scala Binary: 2.11
  Java: target=1.7 user=1.8.0_45

[info] Set current project to root (in build file:/usr/local/share/spark-cassandra-connector/)
 SBT   39dcadbe40e833b610357ce84811201f03d8f350  root 

依赖关系图

以下是根据@AlexeyRomanovs建议使用sbt-dependency-graph的结果

[info] default:project_2.10:0.1-SNAPSHOT [S]
[info]   +-com.scalapenos:sbt-prompt:0.2.1
[info]   | +-com.typesafe.sbt:sbt-git:0.6.4
[info]   |   +-org.eclipse.jgit:org.eclipse.jgit.pgm:3.3.2.201404171909-r
[info]   |     +-args4j:args4j:2.0.12
[info]   |     +-org.apache.commons:commons-compress:1.6
[info]   |     | +-org.tukaani:xz:1.4
[info]   |     |
[info]   |     +-org.eclipse.jgit:org.eclipse.jgit.archive:3.3.2.201404171909-r
[info]   |     | +-org.apache.commons:commons-compress:1.6
[info]   |     | | +-org.tukaani:xz:1.4
[info]   |     | |
[info]   |     | +-org.eclipse.jgit:org.eclipse.jgit:3.3.2.201404171909-r
[info]   |     | | +-com.googlecode.javaewah:JavaEWAH:0.7.9
[info]   |     | | +-com.jcraft:jsch:0.1.50
[info]   |     | | +-org.apache.httpcomponents:httpclient:4.1.3 (evicted by: 4.2.6)
[info]   |     | | | +-commons-codec:commons-codec:1.4 (evicted by: 1.8)
[info]   |     | | | +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]   |     | | | +-commons-codec:commons-codec:1.8
[info]   |     | | | +-commons-logging:commons-logging:1.1.1
[info]   |     | | | +-org.apache.httpcomponents:httpcore:4.1.4 (evicted by: 4.2.5)
[info]   |     | | | +-org.apache.httpcomponents:httpcore:4.2.5
[info]   |     | | |
[info]   |     | | +-org.apache.httpcomponents:httpclient:4.2.6
[info]   |     | |   +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]   |     | |   +-commons-codec:commons-codec:1.8
[info]   |     | |   +-commons-logging:commons-logging:1.1.1
[info]   |     | |   +-org.apache.httpcomponents:httpcore:4.2.5
[info]   |     | |
[info]   |     | +-org.osgi:org.osgi.core:4.3.1
[info]   |     |
[info]   |     +-org.eclipse.jgit:org.eclipse.jgit.ui:3.3.2.201404171909-r
[info]   |     | +-org.eclipse.jgit:org.eclipse.jgit:3.3.2.201404171909-r
[info]   |     |   +-com.googlecode.javaewah:JavaEWAH:0.7.9
[info]   |     |   +-com.jcraft:jsch:0.1.50
[info]   |     |   +-org.apache.httpcomponents:httpclient:4.1.3 (evicted by: 4.2.6)
[info]   |     |   | +-commons-codec:commons-codec:1.4 (evicted by: 1.8)
[info]   |     |   | +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]   |     |   | +-commons-codec:commons-codec:1.8
[info]   |     |   | +-commons-logging:commons-logging:1.1.1
[info]   |     |   | +-org.apache.httpcomponents:httpcore:4.1.4 (evicted by: 4.2.5)
[info]   |     |   | +-org.apache.httpcomponents:httpcore:4.2.5
[info]   |     |   |
[info]   |     |   +-org.apache.httpcomponents:httpclient:4.2.6
[info]   |     |     +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]   |     |     +-commons-codec:commons-codec:1.8
[info]   |     |     +-commons-logging:commons-logging:1.1.1
[info]   |     |     +-org.apache.httpcomponents:httpcore:4.2.5
[info]   |     |
[info]   |     +-org.eclipse.jgit:org.eclipse.jgit:3.3.2.201404171909-r
[info]   |       +-com.googlecode.javaewah:JavaEWAH:0.7.9
[info]   |       +-com.jcraft:jsch:0.1.50
[info]   |       +-org.apache.httpcomponents:httpclient:4.1.3 (evicted by: 4.2.6)
[info]   |       | +-commons-codec:commons-codec:1.4 (evicted by: 1.8)
[info]   |       | +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]   |       | +-commons-codec:commons-codec:1.8
[info]   |       | +-commons-logging:commons-logging:1.1.1
[info]   |       | +-org.apache.httpcomponents:httpcore:4.1.4 (evicted by: 4.2.5)
[info]   |       | +-org.apache.httpcomponents:httpcore:4.2.5
[info]   |       |
[info]   |       +-org.apache.httpcomponents:httpclient:4.2.6
[info]   |         +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]   |         +-commons-codec:commons-codec:1.8
[info]   |         +-commons-logging:commons-logging:1.1.1
[info]   |         +-org.apache.httpcomponents:httpcore:4.2.5
[info]   |
[info]   +-com.typesafe.sbt:sbt-git:0.6.4
[info]   | +-org.eclipse.jgit:org.eclipse.jgit.pgm:3.3.2.201404171909-r
[info]   |   +-args4j:args4j:2.0.12
[info]   |   +-org.apache.commons:commons-compress:1.6
[info]   |   | +-org.tukaani:xz:1.4
[info]   |   |
[info]   |   +-org.eclipse.jgit:org.eclipse.jgit.archive:3.3.2.201404171909-r
[info]   |   | +-org.apache.commons:commons-compress:1.6
[info]   |   | | +-org.tukaani:xz:1.4
[info]   |   | |
[info]   |   | +-org.eclipse.jgit:org.eclipse.jgit:3.3.2.201404171909-r
[info]   |   | | +-com.googlecode.javaewah:JavaEWAH:0.7.9
[info]   |   | | +-com.jcraft:jsch:0.1.50
[info]   |   | | +-org.apache.httpcomponents:httpclient:4.1.3 (evicted by: 4.2.6)
[info]   |   | | | +-commons-codec:commons-codec:1.4 (evicted by: 1.8)
[info]   |   | | | +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]   |   | | | +-commons-codec:commons-codec:1.8
[info]   |   | | | +-commons-logging:commons-logging:1.1.1
[info]   |   | | | +-org.apache.httpcomponents:httpcore:4.1.4 (evicted by: 4.2.5)
[info]   |   | | | +-org.apache.httpcomponents:httpcore:4.2.5
[info]   |   | | |
[info]   |   | | +-org.apache.httpcomponents:httpclient:4.2.6
[info]   |   | |   +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]   |   | |   +-commons-codec:commons-codec:1.8
[info]   |   | |   +-commons-logging:commons-logging:1.1.1
[info]   |   | |   +-org.apache.httpcomponents:httpcore:4.2.5
[info]   |   | |
[info]   |   | +-org.osgi:org.osgi.core:4.3.1
[info]   |   |
[info]   |   +-org.eclipse.jgit:org.eclipse.jgit.ui:3.3.2.201404171909-r
[info]   |   | +-org.eclipse.jgit:org.eclipse.jgit:3.3.2.201404171909-r
[info]   |   |   +-com.googlecode.javaewah:JavaEWAH:0.7.9
[info]   |   |   +-com.jcraft:jsch:0.1.50
[info]   |   |   +-org.apache.httpcomponents:httpclient:4.1.3 (evicted by: 4.2.6)
[info]   |   |   | +-commons-codec:commons-codec:1.4 (evicted by: 1.8)
[info]   |   |   | +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]   |   |   | +-commons-codec:commons-codec:1.8
[info]   |   |   | +-commons-logging:commons-logging:1.1.1
[info]   |   |   | +-org.apache.httpcomponents:httpcore:4.1.4 (evicted by: 4.2.5)
[info]   |   |   | +-org.apache.httpcomponents:httpcore:4.2.5
[info]   |   |   |
[info]   |   |   +-org.apache.httpcomponents:httpclient:4.2.6
[info]   |   |     +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]   |   |     +-commons-codec:commons-codec:1.8
[info]   |   |     +-commons-logging:commons-logging:1.1.1
[info]   |   |     +-org.apache.httpcomponents:httpcore:4.2.5
[info]   |   |
[info]   |   +-org.eclipse.jgit:org.eclipse.jgit:3.3.2.201404171909-r
[info]   |     +-com.googlecode.javaewah:JavaEWAH:0.7.9
[info]   |     +-com.jcraft:jsch:0.1.50
[info]   |     +-org.apache.httpcomponents:httpclient:4.1.3 (evicted by: 4.2.6)
[info]   |     | +-commons-codec:commons-codec:1.4 (evicted by: 1.8)
[info]   |     | +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]   |     | +-commons-codec:commons-codec:1.8
[info]   |     | +-commons-logging:commons-logging:1.1.1
[info]   |     | +-org.apache.httpcomponents:httpcore:4.1.4 (evicted by: 4.2.5)
[info]   |     | +-org.apache.httpcomponents:httpcore:4.2.5
[info]   |     |
[info]   |     +-org.apache.httpcomponents:httpclient:4.2.6
[info]   |       +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]   |       +-commons-codec:commons-codec:1.8
[info]   |       +-commons-logging:commons-logging:1.1.1
[info]   |       +-org.apache.httpcomponents:httpcore:4.2.5
[info]   |
[info]   +-com.typesafe.sbt:sbt-scalariform:1.3.0
[info]   | +-org.scalariform:scalariform_2.10:0.1.4 [S]
[info]   |
[info]   +-net.virtual-void:sbt-dependency-graph:0.8.0
[info]   | +-com.github.mdr:ascii-graphs_2.10:0.0.3 [S]
[info]   |
[info]   +-org.scalastyle:scalastyle-sbt-plugin:0.6.0
[info]   | +-org.scalastyle:scalastyle_2.10:0.6.0 [S]
[info]   |   +-com.danieltrinh:scalariform_2.10:0.1.5 [S]
[info]   |   +-com.typesafe:config:1.2.0
[info]   |
[info]   +-org.scoverage:sbt-scoverage:1.0.4
[info]   | +-org.scoverage:scalac-scoverage-plugin_2.10:1.0.4 [S]
[info]   |
[info]   +-org.spark-packages:sbt-spark-package:0.2.3
[info]   | +-com.eed3si9n:sbt-assembly:0.12.0
[info]   | +-org.apache.directory.studio:org.apache.commons.codec:1.8
[info]   | | +-commons-codec:commons-codec:1.8
[info]   | |
[info]   | +-org.scalaj:scalaj-http_2.10:1.1.4 [S]
[info]   |
[info]   +-org.typelevel:sbt-typelevel:0.3.1
[info]     +-com.eed3si9n:sbt-buildinfo:0.3.2
[info]     +-com.github.gseitz:sbt-release:0.8.4
[info]     +-com.typesafe.sbt:sbt-pgp:0.8.2
[info]     | +-com.jsuereth:gpg-library_2.10:0.8.2 [S]
[info]     | | +-net.databinder:dispatch-http_2.10:0.8.10 [S]
[info]     | | | +-net.databinder:dispatch-core_2.10:0.8.10 [S]
[info]     | | | | +-org.apache.httpcomponents:httpclient:4.1.3 (evicted by: 4.2.6)
[info]     | | | | | +-commons-codec:commons-codec:1.4 (evicted by: 1.8)
[info]     | | | | | +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]     | | | | | +-commons-codec:commons-codec:1.8
[info]     | | | | | +-commons-logging:commons-logging:1.1.1
[info]     | | | | | +-org.apache.httpcomponents:httpcore:4.1.4 (evicted by: 4.2.5)
[info]     | | | | | +-org.apache.httpcomponents:httpcore:4.2.5
[info]     | | | | |
[info]     | | | | +-org.apache.httpcomponents:httpclient:4.2.6
[info]     | | | |   +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]     | | | |   +-commons-codec:commons-codec:1.8
[info]     | | | |   +-commons-logging:commons-logging:1.1.1
[info]     | | | |   +-org.apache.httpcomponents:httpcore:4.2.5
[info]     | | | |
[info]     | | | +-net.databinder:dispatch-futures_2.10:0.8.10 [S]
[info]     | | | | +-org.scala-lang:scala-actors:2.10.2 [S]
[info]     | | | |
[info]     | | | +-org.apache.httpcomponents:httpclient:4.1.3 (evicted by: 4.2.6)
[info]     | | | | +-commons-codec:commons-codec:1.4 (evicted by: 1.8)
[info]     | | | | +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]     | | | | +-commons-codec:commons-codec:1.8
[info]     | | | | +-commons-logging:commons-logging:1.1.1
[info]     | | | | +-org.apache.httpcomponents:httpcore:4.1.4 (evicted by: 4.2.5)
[info]     | | | | +-org.apache.httpcomponents:httpcore:4.2.5
[info]     | | | |
[info]     | | | +-org.apache.httpcomponents:httpclient:4.2.6
[info]     | | |   +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]     | | |   +-commons-codec:commons-codec:1.8
[info]     | | |   +-commons-logging:commons-logging:1.1.1
[info]     | | |   +-org.apache.httpcomponents:httpcore:4.2.5
[info]     | | |
[info]     | | +-org.bouncycastle:bcpg-jdk15on:1.49
[info]     | |   +-org.bouncycastle:bcprov-jdk15on:1.49
[info]     | |
[info]     | +-net.databinder:dispatch-http_2.10:0.8.10 [S]
[info]     |   +-net.databinder:dispatch-core_2.10:0.8.10 [S]
[info]     |   | +-org.apache.httpcomponents:httpclient:4.1.3 (evicted by: 4.2.6)
[info]     |   | | +-commons-codec:commons-codec:1.4 (evicted by: 1.8)
[info]     |   | | +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]     |   | | +-commons-codec:commons-codec:1.8
[info]     |   | | +-commons-logging:commons-logging:1.1.1
[info]     |   | | +-org.apache.httpcomponents:httpcore:4.1.4 (evicted by: 4.2.5)
[info]     |   | | +-org.apache.httpcomponents:httpcore:4.2.5
[info]     |   | |
[info]     |   | +-org.apache.httpcomponents:httpclient:4.2.6
[info]     |   |   +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]     |   |   +-commons-codec:commons-codec:1.8
[info]     |   |   +-commons-logging:commons-logging:1.1.1
[info]     |   |   +-org.apache.httpcomponents:httpcore:4.2.5
[info]     |   |
[info]     |   +-net.databinder:dispatch-futures_2.10:0.8.10 [S]
[info]     |   | +-org.scala-lang:scala-actors:2.10.2 [S]
[info]     |   |
[info]     |   +-org.apache.httpcomponents:httpclient:4.1.3 (evicted by: 4.2.6)
[info]     |   | +-commons-codec:commons-codec:1.4 (evicted by: 1.8)
[info]     |   | +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]     |   | +-commons-codec:commons-codec:1.8
[info]     |   | +-commons-logging:commons-logging:1.1.1
[info]     |   | +-org.apache.httpcomponents:httpcore:4.1.4 (evicted by: 4.2.5)
[info]     |   | +-org.apache.httpcomponents:httpcore:4.2.5
[info]     |   |
[info]     |   +-org.apache.httpcomponents:httpclient:4.2.6
[info]     |     +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]     |     +-commons-codec:commons-codec:1.8
[info]     |     +-commons-logging:commons-logging:1.1.1
[info]     |     +-org.apache.httpcomponents:httpcore:4.2.5
[info]     |
[info]     +-com.typesafe:sbt-mima-plugin:0.1.6
[info]     | +-com.typesafe:mima-reporter_2.10:0.1.6 [S]
[info]     |   +-com.typesafe:config:1.0.0 (evicted by: 1.2.0)
[info]     |   +-com.typesafe:config:1.2.0
[info]     |   +-com.typesafe:mima-core_2.10:0.1.6 [S]
[info]     |   | +-org.scala-lang:scala-compiler:2.10.2 [S]
[info]     |   |   +-org.scala-lang:scala-reflect:2.10.2 [S]
[info]     |   |
[info]     |   +-org.scala-lang:scala-actors:2.10.2 [S]
[info]     |   +-org.scala-lang:scala-swing:2.10.2 [S]
[info]     |
[info]     +-net.virtual-void:sbt-dependency-graph:0.7.4 (evicted by: 0.8.0)
[info]     +-net.virtual-void:sbt-dependency-graph:0.8.0
[info]     | +-com.github.mdr:ascii-graphs_2.10:0.0.3 [S]
[info]     |
[info]     +-org.xerial.sbt:sbt-sonatype:0.2.1
[info]       +-org.apache.httpcomponents:httpclient:4.2.6
[info]         +-commons-codec:commons-codec:1.6 (evicted by: 1.8)
[info]         +-commons-codec:commons-codec:1.8
[info]         +-commons-logging:commons-logging:1.1.1
[info]         +-org.apache.httpcomponents:httpcore:4.2.5
[info]

1 个答案:

答案 0 :(得分:2)

如果查看SBT教程,您会发现project/*.scala文件等同于根目录中的*.sbt文件。这就是您需要进行更改的地方(具体来说,在CassandraSparkBuild.scala中)。

问题在于传递依赖关系中存在两个版本的Netty,而SBT没有注意到这一点,因为组ID不同:3.2.2为org.jboss.netty,3.8为io.netty。找到他们来自哪里(使用例如https://github.com/jrudolph/sbt-dependency-graph)并排除旧版本(并希望没有任何中断)。