Gradle Ktor启动示例错误

Gradle Ktor启动示例错误,gradle,kotlin,ktor,Gradle,Kotlin,Ktor,我对Kotlin、Ktor和Gradle非常陌生,想尝试Ktor,所以我完成了解释的步骤,最后得到了以下代码,结构如屏幕截图所示: 正如我们看到的,有很多错误,如何修复它们 package blog import org.jetbrains.ktor.netty.* import org.jetbrains.ktor.routing.* import org.jetbrains.ktor.application.* import org.jetbrains.ktor.host.* import

我对Kotlin、Ktor和Gradle非常陌生,想尝试Ktor,所以我完成了解释的步骤,最后得到了以下代码,结构如屏幕截图所示:

正如我们看到的,有很多错误,如何修复它们

package blog

import org.jetbrains.ktor.netty.*
import org.jetbrains.ktor.routing.*
import org.jetbrains.ktor.application.*
import org.jetbrains.ktor.host.*
import org.jetbrains.ktor.http.*
import org.jetbrains.ktor.response.*

fun main(args: Array<String>) {
    embeddedServer(Netty, 8080) {
        routing {
            get("/") {
                call.respondText("My Example Blog", ContentType.Text.Html)
            }
        }
    }.start(wait = true)
}

您有不完整的
build.gradle
脚本(缺少依赖项)-有关详细信息,请参阅。好的一个是:

group 'Example'
version '1.0-SNAPSHOT'

buildscript {
    ext.kotlin_version = '1.1.4-3'

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: 'java'
apply plugin: 'kotlin'

sourceCompatibility = 1.8
ext.ktor_version = '0.4.0'

repositories {
    mavenCentral()
    maven { url  "http://dl.bintray.com/kotlin/ktor" }
    maven { url "https://dl.bintray.com/kotlin/kotlinx" }
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
    compile "org.jetbrains.ktor:ktor-core:$ktor_version"
    compile "org.jetbrains.ktor:ktor-netty:$ktor_version"
    compile "ch.qos.logback:logback-classic:1.2.1"
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
kotlin {
    experimental {
        coroutines "enable"
    }
}

我建议使用来引导您的应用程序。
/gradlew run
脚本使用此配置直接运行,无需修改Gradle配置。这是最简单的开始方式

以下是使用配置的Ktor应用程序示例:


如果您想从IntelliJ运行您的应用程序,请查看我使用的运行配置的以下答案:

我在运行应用程序时遇到此错误:“SLF4J:未能加载类”org.SLF4J.impl.StaticLoggerBinder“。SLF4J:默认为无操作(NOP)记录器实现“@HasanAYousef,这不是一个错误,而是一个警告。您还需要配置记录器。谢谢@OPal,您能帮我完成我想做的第二步吗?在这个问题上:唉,插件现在已经完成了​标记为过时的。(2021年4月)
group 'Example'
version '1.0-SNAPSHOT'

buildscript {
    ext.kotlin_version = '1.1.4-3'

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: 'java'
apply plugin: 'kotlin'

sourceCompatibility = 1.8
ext.ktor_version = '0.4.0'

repositories {
    mavenCentral()
    maven { url  "http://dl.bintray.com/kotlin/ktor" }
    maven { url "https://dl.bintray.com/kotlin/kotlinx" }
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
    compile "org.jetbrains.ktor:ktor-core:$ktor_version"
    compile "org.jetbrains.ktor:ktor-netty:$ktor_version"
    compile "ch.qos.logback:logback-classic:1.2.1"
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
kotlin {
    experimental {
        coroutines "enable"
    }
}