在我的IntelliJ IDEA项目中,我有3个用Kotlin编写的模块:
当我单击运行按钮时,它会启动Tomcat服务器并加载我的servlet项目。这是因为,我在这里猜测,IDE内部的新项目创建模板为整个项目创建了一个新的运行配置,并且在此运行配置中定义它必须启动模块里面有servlet。
现在servlet运行正常,我还想运行使用Swing编写的桌面应用程序。
我该怎么做?我曾经做过一次,但我忘记了我是怎么做到的。
我是否必须定义新的运行配置?我试过这种方式:
我在左侧窗格中选择了 Kotlin ,标题为添加新配置,并指定了具有main
功能的类的名称,以及有这个类的模块。
以下是我的main
课程的源代码。
package bookyard.client;
import javax.swing.SwingUtilities;
public class Program {
public fun main(args : Array<String>) {
SwingUtilities.invokeLater(LoginDialogEventLoop());
}
}
但是当我选择运行配置名称后单击运行按钮时,该过程会报告错误,该错误表明我指定的类名具有main
功能实际上没有main
函数,我不知道为什么会这样。
答案 0 :(得分:2)
main
方法需要是静态的,而您声明的方法不是。在Kotlin中,您可以将main
声明为顶级函数(在类之外),或者,如果要将其保留在类中,请使用以下语法:
class Program {
companion object {
@JvmStatic fun main(args: Array<String) { ... }
}
}