簡體   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