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

标签 spring spring-boot gradle kotlin spring-tool-suite

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

Error: Could not find or load main class Caused by: java.lang.ClassNotFoundException:



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

有人可以帮帮我吗?

控制台:enter image description here

最佳答案

build.gralde.kt中检查对主类的引用是否正确:

mainClassName = 'TheMenschenApplicationKt'

您甚至可能在这里需要一个完全限定的名称。这是TheMenschenApplicationKt中的高K。

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

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

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

关于spring - 错误:在Spring Boot Kotlin新项目中找不到或加载主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60009288/

相关文章:

java - Camunda BPMN - 访问线程内的变量

java - Spring Roo + hibernate : uppercase database name in the query

android - 为什么在将 gradle 项目添加到另一个 repo 后,IDE 中出现语法错误,即使在构建工作时也是如此?

java - Spring无法解析命令行参数

java - 应用上下文。这是什么?

java - 如何将两个参数传递给 thymeleaf 模板?

Android - 应用程序未运行。错误 : The minCompileSdk specified in a dependency's AAR metadata is greater than this module's compileSdkVersion

gradle - 在Gradle Global中建立Artifactory

java - Spring boot RequestBody 越来越空

java - Null ModelAndView 返回到 DispatcherServlet,名称为 'dispatcherServlet' : assuming HandlerAdapter completed request handling