Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin Ktor-我生成了一个新项目来尝试一下,但无法导入CIO引擎_Kotlin_Build.gradle_Ktor - Fatal编程技术网

Kotlin 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()

我正在为一个项目尝试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()
    }
    
    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验证。有时因为年纪大了,它不起作用