为什么我的build.sbt正在寻找hadoop-streaming版本2.11?

时间:2016-09-05 06:12:34

标签: scala hadoop apache-spark sbt

我在Apache Spark上做了一个多元化的课程,有一次他们要求我们设置对Hadoop-streaming的依赖。我已将其添加到我的build.sbt文件中,但我得到的结果是意外的:

Build.sbt

name := "SparkPlayground"

version := "1.0"

scalaVersion := "2.11.8"

libraryDependencies += "org.apache.spark" %% "spark-core" % "2.0.0" % "provided"
libraryDependencies += "com.github.scala-incubator.io" %% "scala-io-core" % "0.4.3"
libraryDependencies += "com.github.scala-incubator.io" %% "scala-io-file" % "0.4.3"
libraryDependencies += "org.apache.hadoop" %% "hadoop-streaming" % "2.7.0"

错误消息

SBT 'SparkPlayground' project refresh failed
    Error:Error:Error while importing SBT project:<br/>...<br/><pre>[info] Resolving org.scala-sbt#task-system;0.13.8 ...

[info] Resolving org.scala-sbt#tasks;0.13.8 ...

[info] Resolving org.scala-sbt#tracking;0.13.8 ...

[info] Resolving org.scala-sbt#cache;0.13.8 ...

[info] Resolving org.scala-sbt#testing;0.13.8 ...

[info] Resolving org.scala-sbt#test-agent;0.13.8 ...

[info] Resolving org.scala-sbt#test-interface;1.0 ...

[info] Resolving org.scala-sbt#main-settings;0.13.8 ...

[info] Resolving org.scala-sbt#apply-macro;0.13.8 ...

[info] Resolving org.scala-sbt#command;0.13.8 ...

[info] Resolving org.scala-sbt#logic;0.13.8 ...

[info] Resolving org.scala-sbt#precompiled-2_8_2;0.13.8 ...

[info] Resolving org.scala-sbt#precompiled-2_9_2;0.13.8 ...

[info] Resolving org.scala-sbt#precompiled-2_9_3;0.13.8 ...

[trace] Stack trace suppressed: run 'last *:update' for the full output.

[trace] Stack trace suppressed: run 'last *:ssExtractDependencies' for the full output.

[error] (*:update) sbt.ResolveException: unresolved dependency: org.apache.hadoop#hadoop-streaming_2.11;2.6.0: not found

[error] (*:ssExtractDependencies) sbt.ResolveException: unresolved dependency: org.apache.hadoop#hadoop-streaming_2.11;2.6.0: not found

[error] Total time: 13 s, completed Sep 5, 2016 2:05:47 AM

从错误消息中看起来sbt出于某种原因正在寻找hadoop-streaming_2.11,但我不知道这个2.11来自哪里。我对Scala很新,所以我猜我在某个地方做了一些愚蠢的错字

1 个答案:

答案 0 :(得分:4)

&#34;如果您使用groupID %% artifactID%revision而不是groupID%artifactID%revision(差异是groupID之后的双%%),sbt会将项目的Scala版本添加到工件名称。&# 34;

来自SBT manual

所以你应该在这里使用%。