Как создать Uber JAR (Fat JAR) с использованием SBT в IntelliJ IDEA?

Я использую SBT (в IntelliJ IDEA) для создания простого проекта Scala.

Я хотел бы знать, что являетсясамый простой способ построитьUber JAR файл (он же FAT JAR, Super JAR).

В настоящее время я использую SBT, но когда я отправляю свой файл JARApache Spark Я получаю следующую ошибку:

Исключение в потоке "main" java.lang.SecurityException: неверный дайджест файла подписи для основных атрибутов манифеста

Или эта ошибка во время компиляции:

java.lang.RuntimeException: дедупликация: различное содержимое файла, найденное в следующем:
PATH \ DEPENDENCY.jar: META-INF / ЗАВИСИМОСТИ
PATH \ DEPENDENCY.jar: META-INF / MANIFEST.MF

Этопохоже это потому, что некоторые из моих зависимостей включают файлы сигнатур (META-INF), которые необходимо удалить в окончательном файле UAR JAR.

Я пытался использоватьSBT-сборка такой плагин:

/project/assembly.sbt

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.12.0")

/project/plugins.sbt

logLevel := Level.Warn

/build.sbt

lazy val commonSettings = Seq(
  name := "Spark-Test"
  version := "1.0"
  scalaVersion := "2.11.4"
)

lazy val app = (project in file("app")).
  settings(commonSettings: _*).
  settings(
    libraryDependencies ++= Seq(
      "org.apache.spark" %% "spark-core" % "1.2.0",
      "org.apache.spark" %% "spark-streaming" % "1.2.0",
      "org.apache.spark" % "spark-streaming-twitter_2.10" % "1.2.0"
    )
  )

Когда я нажимаюПостроить артефакт ..."в IntelliJ IDEA я получаю файл JAR. Но я получаю ту же ошибку ...

Я новичок в SBT и не очень экспериментировал с IntelliJ IDE.

Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос