【问题标题】:Is there any way to avoid the error ClassNotFoundException (Spring Initializr)?有什么方法可以避免错误 ClassNotFoundException (Spring Initializr)?
【发布时间】:2020-09-07 11:45:39
【问题描述】:

当我生成 Gradle-Kotlin-Spring Boot 项目并在 Intellij Idea 中启动它时, 我收到一条错误消息:

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

没有进行其他设置。

我试图指出主要类放置在构建脚本中:

application {
    mainClassName = "com.example.%someClassNameKt%"
}

但这无济于事。

这是一个已知的错误还是如何避免这个错误?

我确实检查了很多类似的问题,但没有帮助

【问题讨论】:

  • 你是如何生成这个 Gradle-Kotlin-Spring 项目的? %someClassNameKt% 在我看来就像一个变量,在项目生成部分应该被某个用户名替换。我建议研究生成此类项目的步骤。如果问题始终可重现,请与他们一起更新您的问题。此错误是否仅在您尝试在 IntelliJ 中运行此项目时发生(可能不是)?如果不是,那么它与 IntellJ 无关(再次在此处更新您的问题)。希望这些指针对您有所帮助。

标签: spring-boot kotlin classnotfoundexception


【解决方案1】:

您的 mainClassName 中不应需要“%”,这可能会导致错误。

com.example 包中是否有一个名为 someClassNameKt 的类? 类是不常见的驼峰式,你确定这是正确的吗?

打开您的主应用程序类,并在最顶部检查它所在的包。例如: package com.example

假设您的类名是“SomeApplication”SomeApplication.java,并且在包 com.example 中,这将起作用:

application {
    mainClassName = "com.example.SomeApplication"
}

【讨论】:

    【解决方案2】:

    答案很简单 - 避免在项目路径上的目录名称中使用西里尔符号

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-25
      • 1970-01-01
      • 2014-02-07
      • 2014-05-25
      • 1970-01-01
      • 2017-04-16
      • 1970-01-01
      相关资源
      最近更新 更多