我想使用IntelliJ IDE使用Kotlin为JVM启动一个新项目,但我无法获得配置以使其正常工作。我试图关注this tutorial,之后没有工作(" Run' _DefaultPackage'"选项从未显示过),我开始尝试直觉应该没有成功的事情。 到目前为止发生的事情(反复):
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();
}
fun main(args: Array<String>){
println("Hello world!")
}
我错过了什么?
答案 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!")
}
请记住,它超出了类声明,并且还会显示以下图标:
点击:
问题得以解决。如果您想在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)
}
}
致谢!