【问题标题】:Error: Could not find or load main class in Spring boot kotlin new project错误:在 Spring boot kotlin 新项目中找不到或加载主类
【发布时间】:2020-05-17 10:36:17
【问题描述】:

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

错误:无法找到或加载主类 引起:java.lang.ClassNotFoundException:

以下是我的应用程序设置:

有人可以帮帮我吗?

控制台:

【问题讨论】:

  • 粘贴您的堆栈跟踪。
  • 我应该在哪里寻找它?我只有控制台出现上述错误
  • 运行应用程序并查看控制台
  • 我运行应用程序并在控制台中出现错误。我刚刚添加了控制台的截图。
  • 然后重建并重试

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


【解决方案1】:

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

mainClassName = 'TheMenschenApplicationKt'

您甚至可能需要一个完全限定的名称。它是 TheMenschenApplicationKt 中的上 K。

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

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

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

【讨论】:

  • 我添加了 mainClassName 但它仍然无法正常工作。我怀疑是否安装了 kotlin,因为我也无法获得任何智能感知。我需要为 kotlin 安装任何插件吗?我在我的 Mac 上使用最新的 STS。
  • 嗯,当然,您确实需要安装 Kotlin 编译器。你检查了吗:docs.spring.io/sts/nan/v373/SpringToolSuiteAndKotlin.html
猜你喜欢
  • 2016-04-20
  • 1970-01-01
  • 2018-05-09
  • 2020-10-10
  • 1970-01-01
  • 2021-09-13
  • 2021-11-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多