【问题标题】:Unresolved dependency when Scalatest used with SparkScalatest 与 Spark 一起使用时未解决的依赖关系
【发布时间】:2018-02-22 22:00:26
【问题描述】:

我在build.sbt中的依赖如下

scalaVersion := "2.11.8"    
ibraryDependencies ++= Seq(
      "org.apache.spark" % "spark-core_2.11" % "2.1.0" %"provided" ,
      "org.apache.spark" % "spark-sql_2.11" % "2.1.0" %"provided" ,
      "org.scalatest" %%"scalatest" % "2.0" %"test"
 }

当我构建项目时出现以下错误

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.scalatest#scalatest_2.11;2.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Unresolved dependencies path:
[warn]      org.scalatest:scalatest_2.11:2.0 
[warn]        +- transformer:transformer_2.11:1.0
sbt.ResolveException: unresolved dependency: org.scalatest#scalatest_2.11;2.0: not found
    at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:313)
    at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:191)
    at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:168)
    at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:156)

如果我从 spark 依赖项中删除 provided 关键字,它工作正常 如果我使用 3.0 版本的 scalatest 也可以工作,但我只需要使用 2.0 版本

谁能帮我解决这个问题?

【问题讨论】:

  • 你应该使用"org.scalatest" %% "scalatest" % "2.1.0" % "test"而不是"org.scalatest" %%"scalatest" % "2.0" %"test"

标签: scala apache-spark sbt


【解决方案1】:

错误原因:Maven 存储库中缺少“scalatest”版本“2.0”:

http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.scalatest%22%20AND%20a%3A%22scalatest_2.11%22

请尝试存在,例如“2.2.0”。 猜猜,关键字“provided”与错误无关。

【讨论】:

  • 2.2.0 版本正在运行,但我也发现 2.0 版本是基于 scala 2.10 版本构建的,这可能是冲突的原因,因为我使用的是 scala 2.11 版本
猜你喜欢
  • 2018-03-24
  • 2018-02-02
  • 2017-03-15
  • 2017-06-15
  • 2017-11-11
  • 2017-10-29
  • 2017-08-26
  • 1970-01-01
  • 2016-03-26
相关资源
最近更新 更多