sbt-сборка не включает библиотеки scala - PullRequest
0 голосов
/ 10 декабря 2018

Код, который я пишу, будет запущен в AWS Lambda, на котором установлена ​​только среда исполнения Java 8, поэтому мне нужно, чтобы библиотеки scala были включены в мой jar.Когда я даю ему банку, которую я собрал с помощью sbt-assembly, я получаю java.lang.NoClassDefFoundError: scala/Function3.

Это все, что у меня есть в build.sbt для плагина сборки:

assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = true)

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

Этовсе еще случается, есть ли у меня строка, которая отбрасывает файлы META-INF.

Я использовал brew для установки scala и попытался установить для моего $ SCALA_HOME значение /usr/local/opt/scala/idea (раздел caveats brew info scala) и/usr/local/bin/scala (вывод which scala)

:: EDIT ::

Я распаковал банку и обнаружил, что рассматриваемый класс действительно был включен в банку здесь: scala/Function3_scala-library-2.12.7_scala-library-2.12.7_scala-library-2.12.7.class

1 Ответ

0 голосов
/ 10 декабря 2018

Я добавил scala-library.jar в мой путь к классам в Intellij, удалил целевую папку и запустил sbt assembly, и это сработало.

...