从scala代码打包的jar不能正确执行



我想弄清楚,我如何执行Scala代码作为一个可执行的jar文件。
我加载了一个Hello World脚本它的代码是

object Main extends App {
println("Hello, World!")
}

位于srcmainscalaMain.scala.
现在我运行sbt package来创建一个jar文件。
但是,我不能运行这个文件,它不会做任何事情。
此外,通过进入目录并通过java -jar HelloWorld.jar运行它不工作,我只是得到错误:

Error: Unable to initialize main class Main
Caused by: java.lang.NoClassDefFoundError: scala/Function0

但是我不知道为什么会发生这种情况,也不知道如何修复它。

基于错误:

肇因:java.lang.NoClassDefFoundError: scala/Function0

我认为你的类路径中没有Scala运行时库。

您要么需要提供包含所有库的完整类路径,要么使用sbt汇编插件创建一个胖JAR。

最新更新