Intellij idea Kotlin-IntelliJ项目设置

Intellij idea Kotlin-IntelliJ项目设置,intellij-idea,kotlin,Intellij Idea,Kotlin,我想使用IntelliJ IDE为JVM使用Kotlin启动一个新项目,但我无法获得使其工作的配置。我试图跟随,但在那之后没有起作用(“运行”\u DefaultPackage'”选项甚至从未出现),我开始尝试直觉地知道应该做什么,但没有成功。 到目前为止(反复)发生了什么: 我创建了一个新项目,选择“Kotlin-JVM”作为项目类型 我在第二页上单击了Kotlin运行时的“创建…”按钮,并选择了“复制到:lib” 我单击“完成”,创建的项目有一个与我的项目同名的模块。没有默认的源文件或任何

我想使用IntelliJ IDE为JVM使用Kotlin启动一个新项目,但我无法获得使其工作的配置。我试图跟随,但在那之后没有起作用(“运行”\u DefaultPackage'”选项甚至从未出现),我开始尝试直觉地知道应该做什么,但没有成功。 到目前为止(反复)发生了什么:

  • 我创建了一个新项目,选择“Kotlin-JVM”作为项目类型
  • 我在第二页上单击了Kotlin运行时的“创建…”按钮,并选择了“复制到:lib”
  • 我单击“完成”,创建的项目有一个与我的项目同名的模块。没有默认的源文件或任何配置
  • 我创建了一个名为“app.kt”的Kotlin文件(我也尝试了其他名称,如“Main.kt”),并将以下源代码放入其中:
fun main(args:Array){
println(“你好,世界!”)
}
  • 我右键单击了代码编辑器和左窗格中的文件,找到了教程中提到的“Run'\u DefaultPackage'”选项,但在这两个选项中都没有找到它
  • 我创建了一个新的Kotlin配置,它要求我放入一个“主类”。看到这一点,我将代码更改为:
公共类主{
趣味主线(args:Array){
println(“你好,世界!”)
}
}
  • 我编辑配置并将main类设置为“main”,然后运行配置。它失败并出现以下错误:“运行时出错:在类“main”中找不到函数“main”

我缺少什么?

打开包含主要功能的文件,进入菜单->“编辑配置”,然后在对话框中选择“+”作为类型,“应用程序”将名称设置为所需名称,并通过单击顶部输入框(标记为“主类”的框)旁边的按钮来设置主类


选择“使用模块的类路径”并从下拉框中选择您的模块。单击“应用”“然后关闭对话框。现在,您应该能够使用shift+F10运行、使用shift+F9调试以及使用shift+alt+F10编辑运行配置。您还可以通过主屏幕右上角的两个按钮运行或调试。

我必须更新我的Kotlin插件(最近推出),然后右键单击运行选项开始出现。我找不到任何其他问题,所以我想就这样了

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


请注意,main函数必须具有名称“main”(无caps)和“Array”参数。当我创建新项目试图让它工作时,有几次我发现了这个问题。

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


这包括在命令行、Intellij(如您的问题所示)、Gradle和其他程序中运行。

我将main.kt文件移到project的src文件夹中,问题得到了解决
i、 e.IntelliJ可以找到MainKt类

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

class HelloKotlin {

        companion object {
            @JvmStatic fun main(args: Array<String>) {
                println("Kotlin main is running here!")
            }
        }
    }
类HelloKotlin{ 伴星{ @JvmStatic fun main(args:Array){ println(“Kotlin main正在运行!”) } } } 指定的“主类:”->com.mypackage.MainKt

并在包“com.mypackage”中创建Kotlin文件“Main”

package com.mypackage
趣味主线(args:Array){
println(“你好,科特林!”)
}

只需右键单击要运行的类并选择run ClassNameKt选项,其余工作将由IntelliJ IDE完成。

其工作正常…请检查。复制并粘贴此代码并运行

类MyFirstKotlinClass{

companion object {
    @JvmStatic
    fun main(args: Array<String>) {
        println("=========>>>> run successful")
    }
}
伴生对象{
@JvmStatic
趣味主线(args:Array){
println(“成功运行”)
}
}
}另一种解决方案:

fun main(){
    println("Hello world!")
}
请记住,它超出了类声明的范围,还应显示以下图标:

点击:

解决问题。如果您想在Main.kt中尝试以下代码:

import javax.swing.JFrame

fun main() {
    println("Hi, kotlin !!!")
    val window = Main()
}

class Main {
    constructor(){
        val frame = JFrame()
        frame.setSize(800, 600)
        frame.setLocationRelativeTo(null)
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
        frame.setVisible(true)
    }
}

问候

对于那些使用intelliJ-2021社区的人,我找到了一个解决方案,基本上就是将你的主函数放到你创建的类之外。运行按钮将立即出现,配置将自动更新

您使用的IntelliJ IDEA版本是什么?你有src文件夹吗?你在里面创建了Kotlin文件吗?IntelliJ版本14.1.3。我有一个默认创建的名为“src”的源文件夹,其中有一个名为Main的Kotlin类文件。你能显示你的项目布局的屏幕截图吗?或者更好的是,给我发送示例?我很好奇为什么会发生这种情况。请参阅:有关运行Kotlin类的背景信息,它将帮助您诊断您自己的问题。请注意,在您的问题中,
class Main
中缺少
伴生对象
,以及
Main()
方法上的
@JvmStatic
注释。更多信息,请参见我在上一篇评论中发布的链接。用于选择类的三点按钮不起作用(双击类没有任何作用),但我可以在那里键入我的类的名称。现在它给了我一个错误“main方法应该是静态的”,这对于Kotlin来说毫无意义,因为没有这样的东西。我试图把它带出课堂,但没有成功。这个问题的最高投票率答案列出了与您几乎相同的代码,代码格式正确,并在上面提供了解释。你到底想贡献什么?
import javax.swing.JFrame

fun main() {
    println("Hi, kotlin !!!")
    val window = Main()
}

class Main {
    constructor(){
        val frame = JFrame()
        frame.setSize(800, 600)
        frame.setLocationRelativeTo(null)
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
        frame.setVisible(true)
    }
}