sbt-assembly不包括Scala库

时间:2018-12-10 17:23:06

标签: scala jar sbt sbt-assembly

我正在编写的代码将在仅安装了Java 8运行时的AWS Lambda中运行,因此我需要将scala库包含在我的jar中。当我给它使用sbt-assembly构建的jar时,我会得到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/ideabrew info scala的小凹坑部分)和/usr/local/bin/scalawhich scala的输出)

::编辑::

我打开了罐子的包装,发现其中的类实际上包含在罐子中:scala/Function3_scala-library-2.12.7_scala-library-2.12.7_scala-library-2.12.7.class

1 个答案:

答案 0 :(得分:0)

我在Intellij的类路径中添加了scala-library.jar,删除了目标文件夹并运行了sbt assembly

相关问题