排除提供的库的组件

时间:2016-03-04 10:03:42

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

我正面临Spark,Google番石榴和SBT的某种奇怪问题。

我正在编写一个使用上一版Google guava中的组件的Spark 1.5.2应用程序。 在我的build.sbt中,我因此指定了以下依赖项:

libraryDependencies += "org.apache.hadoop" % "hadoop-client" % "2.3.0" % "provided"

libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.5.2" % "provided"

libraryDependencies += "org.apache.spark" %% "spark-sql" % "1.5.2" % "provided"

libraryDependencies += "com.google.guava" % "guava" % "19.0"

然后我运行sbt assemblyspark-submit。 问题是Spark 1.5.2已经提供了以前版本的guava,其中我使用的几种方法表现不同,或者没有定义。 因此,当我运行我的应用程序时,使用了以前版本的番石榴,我没有得到我期望的结果。

有没有人知道是否有办法指定我不关心哪个版本的guava Spark正在使用,但我确实希望我的代码运行我在build.sbt中指定的版本?

感谢您的帮助。

0 个答案:

没有答案