Kotlin 中的 HelloWorld 给出错误“无法找到或加载主类”

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

我花了最后 1.5 个小时尝试让 这个简单的教程 在 IntelliJ IDEA 中工作,正如您在 这个视频中看到的那样。

尝试运行代码时,出现错误:

/[...] -Dfile.encoding=UTF-8 src.HelloKt
Error: Could not find or load main class src.HelloKt
Caused by: java.lang.ClassNotFoundException: src.HelloKt

我尝试过设置SDK使缓存无效删除

.idea
.gradle
重建项目删除配置文件并再次添加。我以不同的顺序尝试了这些操作。

这是该项目的屏幕截图:

它还抱怨 Kotlin 未配置,但我已经配置了。

这是运行配置:

以下是项目设置:

kotlin intellij-idea
2个回答
4
投票

您的

Hello.kt
文件需要位于
src/main
文件夹内的某个位置,可能位于
src/main/kotlin
中。这与教程不同,因为您的项目正在使用 Gradle,而教程中的项目则没有。我认为这是因为较新版本的 IntelliJ 在新项目中默认使用 Gradle,而编写教程时并非如此。

使用

src/main/kotlin
src/test/kotlin
作为源代码目录是 Gradle(和 Maven)中的约定。将 Gradle 项目导入 IntelliJ 时,
main
成为一个模块,而
kotlin
成为该模块中的源文件夹。
test
也是如此。在您的屏幕截图中,
main
test
上的粗体文本和蓝色图标确认您的项目是这样设置的。这些文件夹之外的文件不会被视为源文件,这解释了为什么您的
Hello.kt
文件未被正确编译或识别。

自本教程编写以来,创建新项目时 IntelliJ 的默认行为可能已发生变化。 在教程中,他们选择“Kotlin”作为项目类型,这将创建一个不使用 Gradle 的项目。因此,该项目不使用

src/main/kotlin
目录结构。

从您的视频中我可以看到您选择了相同的选项,但在下一个屏幕上,IntelliJ 仍然自动选择 Gradle 作为新项目的构建系统。为了匹配教程中使用的项目结构,我认为您需要选择“IntelliJ”作为构建系统。


0
投票

这里也一样。 我尝试测试我儿子的一个项目,安装了工具,导入了项目,但无法配置 main.kt 文件。 我可以在“主类”中输入我想要的内容 - 行,似乎没有任何内容被接受#我尝试: cga.exercise.MainKt 或 d:_.Jobs._\Moritz\Grafik-Prog\project\src\main\kotli

© www.soinside.com 2019 - 2024. All rights reserved.