微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Kotlin 脚本找不到 Ktor CIO 类

如何解决Kotlin 脚本找不到 Ktor CIO 类

我正在尝试将 kotlin-main-kts 与 Ktor 客户端一起使用。

这是我在名为 ktor_tests.main.kts文件中的简单 Kotlin 脚本:

@file:Repository("https://repo1.maven.org/maven2")
@file:DependsOn("io.ktor:ktor-client-core-jvm:1.5.3")
@file:DependsOn("io.ktor:ktor-client-cio:1.5.3")

import io.ktor.client.HttpClient
import io.ktor.client.engine.cio.CIO

println("Hello")

HttpClient(CIO).use {
    println("In client scope.")
}

我运行它

kotlinc -cp ~/.m2/repository/org/jetbrains/kotlin/kotlin-main-kts/1.4.21/kotlin-main-kts-1.4.21.jar -script ktor_tests.main.kts

输出

OpenJDK 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0
OpenJDK 64-Bit Server VM warning: Option UseConcmarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.intellij.util.ReflectionUtil to method java.util.ResourceBundle.setParent(java.util.ResourceBundle)
WARNING: Please consider reporting this to the maintainers of com.intellij.util.ReflectionUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
error: unresolved reference: CIO (clean_location_group.main.kts:6:34)
error: unresolved reference: CIO (clean_location_group.main.kts:10:12)
clean_location_group.main.kts:6:34: error: unresolved reference: CIO
import io.ktor.client.engine.cio.CIO
                                 ^
clean_location_group.main.kts:10:12: error: unresolved reference: CIO
HttpClient(CIO).use {
           ^

我的 Kotlin/JVM 版本是:kotlinc-jvm 1.4.31 (JRE 11.0.10+9)

解决方法

只需像对 -jvm 所做的那样将 io.ktor:ktor-client-cio:1.5.3 后缀添加到 ktor-client-core 依赖项:

@file:DependsOn("io.ktor:ktor-client-core-jvm:1.5.3")
@file:DependsOn("io.ktor:ktor-client-cio-jvm:1.5.3")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?