Ошибка при сборке проекта sbt

У меня есть искровой проект с использованием Janusgraph, из которого я пытаюсь сделать толстую банку. Проекты хорошо работают в IntelliJ, но когда я пытаюсь создать толстую банку, собрать ее и запустить с помощью spark-submit, она выдает эту ошибку:

NoSuchMethodError:com.google.common.base.Stopwatch.createStarted()Lcom/google/common/base/Stopwatch

Я создаю толстую банку, используя sbt clean compile и sbt assembly.

Я также разархивировал созданную банку и искал класс Stopwatch.class и упомянутый метод. Кажется, они там присутствуют. Итак, я не понимаю, почему эта ошибка может возникнуть.

Мой файл build.sbt выглядит следующим образом:

name := "proj1"

version := "0.1"

scalaVersion := "2.11.12"


// https://mvnrepository.com/artifact/com.michaelpollmeier/gremlin-scala
libraryDependencies += "com.michaelpollmeier" %% "gremlin-scala" % "3.3.1.1"
// https://mvnrepository.com/artifact/org.janusgraph/janusgraph-core
libraryDependencies += "org.janusgraph" % "janusgraph-core" % "0.2.0"

// https://mvnrepository.com/artifact/org.apache.spark/spark-core
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.3.0"
// https://mvnrepository.com/artifact/org.apache.spark/spark-sql
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.3.0"
// https://mvnrepository.com/artifact/org.apache.spark/spark-mllib
libraryDependencies += "org.apache.spark" %% "spark-mllib" % "2.3.0"
// https://mvnrepository.com/artifact/org.apache.spark/spark-hive
libraryDependencies += "org.apache.spark" %% "spark-hive" % "2.3.0"

//libraryDependencies += "com.google.guava" %% "guava" % "15.0"
//libraryDependencies += "org.apache.hadoop" %% "hadoop-client" % "2.7.2"
// https://mvnrepository.com/artifact/org.janusgraph/janusgraph-es
libraryDependencies += "org.janusgraph" % "janusgraph-es" % "0.2.0"

// https://mvnrepository.com/artifact/org.janusgraph/janusgraph-cassandra
libraryDependencies += "org.janusgraph" % "janusgraph-cassandra" % "0.2.0"

// https://mvnrepository.com/artifact/com.google.guava/guava
libraryDependencies += "com.google.guava" % "guava" % "24.0-jre"

// https://mvnrepository.com/artifact/commons-io/commons-io
libraryDependencies += "commons-io" % "commons-io" % "2.6"



assemblyMergeStrategy in assembly := {
  case PathList("META-INF", xs @ _*) => MergeStrategy.discard
  case x => MergeStrategy.first
}

Любая помощь приветствуется. Заранее спасибо!


person J.Doe    schedule 09.03.2018    source источник
comment
Возможный дубликат NoSuchMethodError: com.google.common.base.Stopwatch .createStarted()Lcom/google/common/base/Секундомер   -  person Ramesh Maharjan    schedule 09.03.2018
comment
Решением было обновить версию гуавы. Я уже пользуюсь последней.   -  person J.Doe    schedule 09.03.2018
comment
Согласно матрице совместимости версий, JanusGraph 0.2.0 совместим со Spark 1.6. .з. Также обратите внимание, что JanusGraph совместим со Scala 2.10.z. Попробуйте согласовать версии с JanusGraph вместо того, чтобы брать самые последние доступные версии.   -  person Jason Plurad    schedule 12.03.2018
comment
Проекты хорошо работают на Intellij. Только когда я пытаюсь создать толстую банку, она показывает эту ошибку. Это потому, что какая-то библиотека импортирует старую версию гуавы и поэтому не может найти этот конкретный метод? Я пробовал печатать дерево зависимостей, везде, где используется более низкая версия гуавы, написано (evicted by: 24.0-jre). Итак, почему же произошло нечто подобное?   -  person J.Doe    schedule 12.03.2018