intellij-idea - Kotlin - IntelliJ 项目设置

我想使用 IntelliJ IDE 使用 Kotlin 为 JVM 启动一个新项目,但我无法获得使其工作的配置。我试图关注 this tutorial ,并且在那之后不起作用(“运行'_DefaultPackage'”选项甚至从未出现过),我开始尝试直觉应该做什么而没有成功。 到目前为止(重复)发生了什么:

  • 我新建了一个项目,项目类型选择“Kotlin - JVM”。
  • 我在第二页点击了 Kotlin Runtime 的“创建...”按钮,并选择了“复制到:lib”。
  • 我点击“完成”,创建的项目有一个与我的项目同名的模块。没有默认源文件或任何配置。
  • 我创建了一个名为“app.kt”的 Kotlin 文件(我也尝试过其他名称,例如“Main.kt”),并将以下源代码放入:
fun main(args: Array<String>){
    println("Hello world!")
}
  • 我右键单击代码编辑器和左 Pane 中的文件,找到教程中提到的“运行'_DefaultPackage'”选项,但都找不到。
  • 我创建了一个新的 Kotlin 配置,它要求我放入一个“主类”。看到这里,我把代码改成:
public class Main {
    fun main(args: Array<String>) {
        println("Hello world!")
    }
}
  • 我编辑我的配置并将主类设置为“Main”,然后运行配置。它失败并出现以下错误:“错误运行:在类'Main'中找不到函数'main'。

我错过了什么?

最佳答案

您无法组装项目,因为 main 方法不是静态的。所以你应该在伴生对象中定义它。

class HelloKotlin {

        companion object {
            @JvmStatic fun main(args: Array<String>) {
                println("Kotlin main is running here!")
            }
        }
    }

https://stackoverflow.com/questions/30824479/

相关文章:

android - 使用 Kotlin for Android 进行数据绑定(bind)的问题

java - 在 Kotlin 中,如何转换 Int?到一个 Int

android - 在 Android Studio 中创建 Kotlin 库

kotlin - Delegates.notNull 和 lateinit Kotlin 的区别

types - Kotlin:从列表(或其他功能转换)中消除空值

kotlin - 如何从包类名称字符串中获取 Kotlin KClass?

lambda - 在 lambda 中使用 return?

android - 如何在 androidTest 范围内使用 kapt

android - 缺少主调度程序的模块

android - 在 Kotlin 中使用 Gson 解析 JSON 数组