错误:在Spring Boot Kotlin新项目中找不到或加载主类

问题描述 投票:0回答:1

我正在用Kotlin学习Spring Boot,这是我的第一个应用程序。我已经用STS创建了一个入门项目,但无法运行它。我收到以下错误:

错误:找不到或加载主类引起原因:java.lang.ClassNotFoundException:

以下是我的应用程序设置:enter image description here

有人可以帮我吗?

控制台:enter image description here

spring spring-boot gradle kotlin spring-tool-suite
1个回答
0
投票

如果您在某处引用主类,请检查build.gralde.kt。它可能看起来像这样。

jar {
    manifest {
        attributes 'Main-Class': 'com.themensche.napp.TheMenschenApplicationKt'
    }
    from { 
        configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } 
    }
}

这是TheMenschenApplicationKt中的高K。

这是必需的,因为Kotlin编译为Java字节码的方式。 Kotlin中的fun main()函数未附加到任何类,但是Java始终需要一个类,并且不支持无类函数。

Kotlin编译器必须创建一个Java类。因为您已经定义了一个类Application,所以它为Kotlin文件Kt中的功能创建了一个带有后缀com/themenschen/app/TheMenschenApplication.kt的类。您必须设置此类,以便JVM可以找到它。

顺便说一句,Jar文件只是一个Zip文件,您可以将其解压缩,然后亲自查看ApplicationKt.class是否存在。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.