我花了最后 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
.idea
和.gradle
、重建项目、删除配置文件并再次添加。我以不同的顺序尝试了这些操作。
它还抱怨 Kotlin 未配置,但我已经配置了。
您的
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”作为构建系统。
这里也一样。 我尝试测试我儿子的一个项目,安装了工具,导入了项目,但无法配置 main.kt 文件。 我可以在“主类”中输入我想要的内容 - 行,似乎没有任何内容被接受#我尝试: cga.exercise.MainKt 或 d:_.Jobs._\Moritz\Grafik-Prog\project\src\main\kotli