无法运行jar文件。 (错误:无法find或加载主类co.pissarra.Mainkt)

我正在尝试使用spark和kotlin创建一个小型web服务器。

但是我被卡在了应该能够创建项目的jar并从命令行运行的步骤中。 但是在运行java -jar pissarra-core-all-1.0-SNAPSHOT.jar出现以下错误

Error: Could not find or load main class co.pissarra.Mainkt

我尝试使用intellij想法的工件创建没有成功,并转移到使用build.gradle创建jar。 以下是相同的代码

 task fatJar(type: Jar) { manifest { attributes 'Implementation-Version': version, 'Main-Class': 'co.pissarra.Mainkt' } baseName = project.name + '-all' from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } with jar } 

在运行./gradlew clean之后./gradlew fatJar ,我可以在build/libs/目录下创建jar文件。 这个jar也给出了同样的错误。

在提取jar文件的时候,我可以看到目录结构co/pissarra/里面有Mainkt.class文件。 它也有META-INF目录和MANIFEST.MF文件,其内容如下

 Manifest-Version: 1.0 Implementation-Version: 1.0-SNAPSHOT Main-Class: co.pissarra.Mainkt 

由于stackoverflow不允许上传文件,你可以在这里findjar文件。 您也可以在这里从github项目构建jar文件。

检查你的MANIFEST文件。 类名应该是“MainKt”而不是“Mainkt”