![](/img/trans.png)
[英]IntelliJ Kotlin - MainKt run/debug configuration unavailable, cannot run project
[英]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.