我正在用Kotlin学习Spring Boot,这是我的第一个应用程序。我已经用STS创建了一个入门项目,但无法运行它。我收到以下错误:
错误:找不到或加载主类引起原因:java.lang.ClassNotFoundException:
有人可以帮我吗?
如果您在某处引用主类,请检查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是否存在。