scala – 在intellij的sbt项目中使用spark

这是build.sbt文件

name := "scalaChartTest"

version := "1.0"

scalaVersion := "2.11.7"

//libraryDependencies += "org.jfree" % "jfreechart" % "1.0.19"
//
//libraryDependencies += "org.scalafx" %% "scalafx" % "8.0.0-R4"
//
//libraryDependencies += "com.github.wookietreiber" %% "scala-chart" % "latest.integration"

libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "1.4.1"

刷新后我收到一个错误

15:56:30 SBT project import
         [warn] Multiple dependencies with the same organization/name but different versions. To avoid conflict,pick one version:
         [warn]  * org.scala-lang:scala-compiler:(2.11.0,2.11.7)
         [warn]  * org.scala-lang:scala-reflect:(2.11.2,2.11.7)
         [warn]  * jline:jline:(0.9.94,2.12.1)
         [warn]  * org.scala-lang.modules:scala-parser-combinators_2.11:(1.0.1,1.0.4)
         [warn]  * org.scala-lang.modules:scala-xml_2.11:(1.0.1,1.0.4)
         [warn]  * org.slf4j:slf4j-api:(1.6.4,1.7.10)

这里出了什么问题?

解决方法

您对警告中提到的库具有间接依赖性.存在冲突,因为间接依赖项中的版本与sbt文件中指定的版本不同(在这种情况下可能是scala版本).冲突由sbt自动解决(根据您的配置选择其中一个版本).但是,自动选择的版本可能不是您打算使用的版本,因此警告.

在您的情况下,这可能不是问题.但是,如果您愿意,可以显式排除间接依赖关系:

libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "1.4.1" excludeAll (
  ExclusionRule(organization = "org.scala-lang"),ExclusionRule("jline","jline"),ExclusionRule("org.slf4j","slf4j-api")
  )

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...