Kotlin Ktor-我生成了一个新项目来尝试一下,但无法导入CIO引擎
我正在为一个项目尝试Ktor,但是由Ktor插件生成的示例项目不起作用。 CIO引擎导入有问题 当我放入Kotlin Ktor-我生成了一个新项目来尝试一下,但无法导入CIO引擎,kotlin,build.gradle,ktor,Kotlin,Build.gradle,Ktor,我正在为一个项目尝试Ktor,但是由Ktor插件生成的示例项目不起作用。 CIO引擎导入有问题 当我放入import io.ktor.client.engine.cio.*时,它会显示“unsolve reference:cio” 这是我的build.gradle: buildscript { ext.kotlin_version = '1.4.10' ext.ktor_version = '1.4.0' repositories { jcenter()
import io.ktor.client.engine.cio.*
时,它会显示“unsolve reference:cio”
这是我的build.gradle
:
buildscript {
ext.kotlin_version = '1.4.10'
ext.ktor_version = '1.4.0'
repositories {
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: 'kotlin'
apply plugin: 'application'
sourceCompatibility = 1.8
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
kotlin {
experimental {
coroutines "enable"
}
}
group 'com.archilog_rest'
version '0.0.1'
mainClassName = "io.ktor.server.tomcat.EngineMain"
sourceSets {
main.kotlin.srcDirs = main.java.srcDirs = ['src']
test.kotlin.srcDirs = test.java.srcDirs = ['test']
main.resources.srcDirs = ['resources']
test.resources.srcDirs = ['testresources']
}
repositories {
mavenLocal()
jcenter()
maven { url 'https://kotlin.bintray.com/kotlinx' }
}
dependencies {
println(ktor_version)
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation "io.ktor:ktor-server-tomcat:$ktor_version"
implementation "ch.qos.logback:logback-classic:$logback_version"
implementation "io.ktor:ktor-server-core:$ktor_version"
implementation "io.ktor:ktor-server-sessions:$ktor_version"
implementation "io.ktor:ktor-client-core:$ktor_version"
implementation "io.ktor:ktor-client-core-jvm:$ktor_version"
implementation "io.ktor:ktor-client-cio:$ktor_version"
implementation "io.ktor:ktor-client-auth-jvm:$ktor_version"
implementation "io.ktor:ktor-client-json-jvm:$ktor_version"
implementation "io.ktor:ktor-client-gson:$ktor_version"
implementation "io.ktor:ktor-websockets:$ktor_version"
implementation "io.ktor:ktor-client-websockets:$ktor_version"
testImplementation "io.ktor:ktor-server-tests:$ktor_version"
}
我真的不明白为什么会出错,因为我几乎什么都没做
编辑:
在研究了如何导入CIO之后,我在我的build.gradle中注意到它是
implementation "io.ktor:ktor-client-cio:$ktor_version"
而不是:
implementation "io.ktor:ktor-client-cio-jvm:$ktor_version"
有点奇怪,但它现在可以工作了您可以使用./gradlew clean build构建您的项目,而不对源代码进行任何新的更改吗?因此您需要安装一个JDK“Gradle使用它在您的路径中找到的任何JDK。或者,您可以设置JAVA_HOME环境变量以指向所需JDK的安装目录。”您可以在这里找到说明,然后再次尝试构建项目。由于未解析的引用,编译失败。通常,gradle在需要时使用元数据获取jvm验证。有时因为年纪大了,它不起作用