gpt4 book ai didi

kotlin - 如何使用针对 linuxX64 的 ktor-client-core 修复 'Unresolved reference: HttpClient'

转载 作者:行者123 更新时间:2023-12-02 13:21:14 30 4
gpt4 key购买 nike

我正在尝试在第一步中构建一个针对 linuxX64 的 Kotlin Multiplatform 命令行应用程序。因此,我想构建一个基于通用模块中使用的 Ktor 的客户端。

这是我相当简单的设置:

版本概览

  • Ktor 1.1.5
  • Kotlin 多平台 1.3.31
  • Gradle 5.3.1

  • build.gradle.kts
    plugins {
    kotlin("multiplatform") version "1.3.31"
    }

    repositories {
    mavenCentral()
    maven { url = uri("https://kotlin.bintray.com/ktor") }
    }

    kotlin {
    linuxX64("linux") {
    binaries {
    executable()
    }
    }

    sourceSets {
    val commonMain by getting {
    dependencies {
    implementation(kotlin("stdlib-common"))
    api("io.ktor:ktor-client-core:1.1.5")
    }
    }

    val linuxMain by getting {
    dependsOn(commonMain)
    dependencies {
    api("io.ktor:ktor-client-curl:1.1.5")
    }
    }
    }
    }

    src/linuxMain/kotlin/Main.kt
    fun main(){
    val client = MyClient()
    client.execute()
    }

    src/commonMain/kotlin/MyClient.kt
    import io.ktor.client.*

    class MyClient {

    private val client = HttpClient()

    fun execute() {
    //do something with Ktor client
    }
    }

    当我构建项目时,我得到以下构建问题:
    11:15:21: Executing task 'build'...


    > Configure project :
    Kotlin Multiplatform Projects are an experimental feature.

    > Task :wrapper

    BUILD SUCCESSFUL in 0s
    1 actionable task: 1 executed

    > Configure project :
    Kotlin Multiplatform Projects are an experimental feature.

    > Task :compileKotlinLinux FAILED
    e: .../src/commonMain/kotlin/MyClient.kt: (1, 8): Unresolved reference: io
    e: .../src/commonMain/kotlin/MyClient.kt: (5, 26): Unresolved reference: HttpClient

    我是 Kotlin Native/Mutliplatform 和 Ktor 的新手。如果我的设置有误,请耐心等待...

    最佳答案

    添加 enableFeaturePreview("GRADLE_METADATA") settings.gradle.kts 修复了构建问题。
    我刚刚使用 ktor-client-curl 使用 linuxX64 二进制文件成功进行了 HTTP 调用 :-)

    关于kotlin - 如何使用针对 linuxX64 的 ktor-client-core 修复 'Unresolved reference: HttpClient',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56089071/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com