Kotlin - IntelliJ项目设置

时间:2015-06-13 23:14:42

标签: intellij-idea kotlin

我想使用IntelliJ IDE使用Kotlin为JVM启动一个新项目,但我无法获得配置以使其正常工作。我试图关注this tutorial,之后没有工作(" Run' _DefaultPackage'"选项从未显示过),我开始尝试直觉应该没有成功的事情。 到目前为止发生的事情(反复):

  • 我创建了一个新项目,选择" Kotlin - JVM"作为项目类型。
  • 我点击了"创建......"第二页上的Kotlin Runtime按钮,然后选择"复制到:lib"。
  • 我点击"完成"并且创建的项目有一个与我的项目同名的模块。没有默认的源文件或任何配置。
  • 我创建了一个名为" app.kt"的Kotlin文件。 (我也尝过其他名字,比如" Main.kt"),并将以下源代码放入:
public void keyPressed(KeyEvent e) throws FileNotFoundException, InterruptedException{
    ArrayList GNodes = PlayIG.getGNodes();
    GNode GN = (GNode) GNodes.get(0);
    System.out.println("" + m + " " + GNodes);
    int key = e.getKeyCode();
    ImageIcon S1iExact = new ImageIcon("D:\\JavaProject\\Graphic-library\\buttons\\String01_Exact.png");
    ImageIcon S1iMissed = new ImageIcon("D:\\JavaProject\\Graphic-library\\buttons\\String01_Missed.png");
    if (key == KeyEvent.VK_F1){
            if (GN.getY()+47>=370 && GN.getY()+47<=420)
                S1 = S1iExact.getImage();
            else
                S1 = S1iMissed.getImage();

    }
  • 我右键单击代码编辑器和左侧窗格中的文件,找到&#34;运行&#39; _DefaultPackage&#39;&#34;本教程中提到的选项,但未能在其中找到它。
  • 我创建了一个新的Kotlin配置,要求我输入一个&#34; Main class&#34;。看到这个,我将代码更改为:
fun main(args: Array<String>){
    println("Hello world!")
}
  • 我编辑配置并将主类设置为&#34; Main&#34;,然后运行配置。它失败并显示以下错误:&#34;运行错误:功能&#39; main&#39;没有在课堂上找到&#39; Main&#39;。

我错过了什么?

9 个答案:

答案 0 :(得分:32)

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

class HelloKotlin {

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

答案 1 :(得分:7)

如何识别顶级main()函数的runnable类,或在类中使用main()方法的完整答案都记录在此其他Stack Overflow答案中:{{ 3}}

这包括在命令行上运行,在Intellij内(如您的问题所示),Gradle等。

答案 2 :(得分:3)

指定“主要类:” - &gt; com.mypackage.MainKt

在包“com.mypackage”

中创建Kotlin文件“Main”
package com.mypackage

fun main(args: Array<String>) {
    println("Hello Kotlin!")
}

答案 3 :(得分:2)

打开包含主要功能的文件,然后转到菜单 - &gt;“编辑配置”,然后在对话框中选择“+”,“应用”作为类型将名称设置为您想要的名称并设置主要类别单击顶部输入框旁边的按钮(标记为“主类”的按钮)。

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

答案 4 :(得分:1)

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

答案 5 :(得分:0)

我不得不更新我的Kotlin插件(最近刚出来),然后右键单击运行选项开始出现。我无法将问题追溯到其他任何事情,所以我认为就是这样。

如果您遇到此问题,请右键单击主要功能所在的源代码文件,然后单击“运行,创建或调试”。

请注意,main函数必须具有名称“main”(无大写)和“Array”参数。当我在制作试图让它发挥作用的新项目时,那个人抓住了我几次。

答案 6 :(得分:0)

只需右键单击要运行的类,然后选择“运行ClassNameKt”选项,其余的将由IntelliJ IDE完成。

答案 7 :(得分:0)

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

class MyFirstKotlinClass {

companion object {
    @JvmStatic
    fun main(args: Array<String>) {
        println("=========>>>> run successful")
    }
}

}

答案 8 :(得分:0)

另一种解决方案:

fun main(){
    println("Hello world!")
}

请记住,它超出了类声明,并且还会显示以下图标:

run icon

点击:

enter image description here

问题得以解决。如果您想在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)
    }
}

致谢!