【问题标题】:Unable to run jar file. (Error: Could not find or load main class co.pissarra.Mainkt)无法运行 jar 文件。 (错误:无法找到或加载主类 co.pissarra.Mainkt)
【发布时间】:2017-10-21 05:09:27
【问题描述】:

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

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

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

我尝试使用 intellij idea 的工件创建但没有成功,然后继续使用 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不允许上传文件,你可以找到jar文件here。您也可以从 github 项目here 构建 jar 文件。

【问题讨论】:

    标签: gradle jar kotlin build.gradle


    【解决方案1】:

    检查您的清单文件。类名应该是“MainKt”而不是“Mainkt”

    【讨论】:

    • 是的.. 愚蠢的错误。正在通过对 Main 类使用 java 文件而不是使用 kotlin 来解决它。非常感谢。
    猜你喜欢
    • 2017-07-30
    • 2017-02-07
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 2020-06-02
    • 2021-12-10
    相关资源
    最近更新 更多