无法运行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”