Kotlin – IntelliJ项目设置

我想用Kintlin为JVM启动一个使用IntelliJ IDE的新项目,但是我无法获得配置。 我试图按照这个教程 ,之后没有工作(“运行_DefaultPackage”选项甚至没有出现),我开始尝试直观地认为应该做的没有成功。 到目前为止(重复)发生了什么:

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

我错过了什么?

你不能组装项目导致main方法不是静态的。 所以你应该在同伴对象中定义它。

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

关于如何识别顶层main()函数的可运行类或者在类中使用main()方法的完整答案都记录在其他堆栈溢出答案中: 如何运行Kotlin类

这包括在命令行上运行,在Intellij中(如你的问题所要求的),Gradle等等。

打开包含主要function的文件,进入菜单 – >“编辑配置”,然后在对话框中选择“+”,“应用”作为types将名称设置为你想要的,通过点击按钮来设置主类旁边的顶部输入框(标有“主类”)。

选择“使用模块的类路径”,并从下拉框中选择您的模块。 点击“应用”并关闭对话框。 现在你应该可以用shift + F10来运行,用shift + F9进行调试,并用shift + alt + F10编辑运行配置。 您也可以从主屏幕右上角的两个按钮运行或调试。

我不得不更新我的Kotlin插件(最近出来),然后右键单击选项运行开始出现。 我不能把这个问题追踪到其他任何东西,所以我认为就是这样。

如果遇到这个问题,请右键单击主函数所在的源代码文件,然后单击运行,创建或调试。

请注意,主函数必须具有名称“主”(无大写),和一个“数组”参数。 当我正在做新的项目试图使它工作的时候,那个人抓住了我几次。

我将我的main.kt文件移动到项目的src文件夹中,并解决了问题,即IntelliJ可以findMainKt类