繁体   English   中英

IntelliJ 2021.2.3 中的 Kotlin 控制台应用程序 -> 无法在运行/调试配置中添加主 class“MainKt”

[英]Kotlin Console Application in IntelliJ 2021.2.3 -> Cannot add main class "MainKt" in Run/Debug configuration

我使用 Project JDK openjdk.17 在 IntelliJ 中创建了一个新的 Kotlin 控制台应用程序。

我已在文件 gradle/gradle-wrapper.properties 中将 gradle 版本更改为 7.3:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

当我在 IntelliJ 中创建 Kotlin 控制台应用程序项目时,它会创建一个名为“Main.kt”的文件。 该文件不是 class,而是 function:

fun main(args: Array<String>) {

}

在我家中的一台计算机上,我可以通过单击 IntelliJ 中的“运行”按钮 (SHIFT+F10) 来运行该程序。 在具有相同设置的另一台计算机上,运行按钮为灰色。 这里我需要添加一个运行/调试配置。

在“运行/调试配置”中,我是 select + 然后是 Kotlin。 在主要 class 我不能 select “MainKt”。

我试过的:

  • 无效的缓存/重新启动
  • 创建新项目,但我遇到了同样的问题

我的源代码:

src\main\kotlin\Main.kt:

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

    // Try adding program arguments via Run/Debug configuration.
    // Learn more about running applications: https://www.jetbrains.com/help/idea/running-applications.html.
    println("Program arguments: ${args.joinToString()}")
}

build.gradle.kts:

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("jvm") version "1.5.10"
    application
}

group = "me.admin"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

dependencies {
    testImplementation(kotlin("test"))
}

tasks.test {
    useJUnit()
}

tasks.withType<KotlinCompile>() {
    kotlinOptions.jvmTarget = "1.8"
}

application {
    mainClass.set("MainKt")
}

gradle.properties:

kotlin.code.style=official

设置.gradle.kts:

rootProject.name = "untitled"

gradle\wrapper\gradle-wrapper.properties:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

调试后我发现我可以通过创建一个目录和一个 XML 文件来手动制作一个运行配置文件。

.run/MainKt.run:

<component name="ProjectRunConfigurationManager">
  <configuration default="false" name="MainKt" type="JetRunConfigurationType" nameIsGenerated="true">
    <option name="MAIN_CLASS_NAME" value="MainKt" />
    <module name="untitled.main" />
    <shortenClasspath name="NONE" />
    <method v="2">
      <option name="Make" enabled="true" />
    </method>
  </configuration>
</component>

您可以使用项目名称更改untitled.main

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM