2

kotlinx是否可以在一个简单的 Kotlin 脚本中从包中导入类?

myscript.kts

import kotlinx.serialization.*
import kotlinx.serialization.json.*

println("")

运行上面的脚本kotlinc -script myscript.kts会给出这个错误:

error: unresolved reference: kotlinx

当我检查kotlinc/lib/目录时,存在kotlinx-coroutines-core.jar等等。
我正在使用 Kotlin 编译器版本 1.4.0。

4

2 回答 2

1

如果将名称更改为 *.main.kts,则可以像执行带有依赖项的简单 bash 脚本一样执行 kotlin

https://raw.githubusercontent.com/yschimke/okurl-scripts/master/commands/tube-status.main.kts

$ ./tube-status.main.kts
Good Service
Good Service
Minor Delays
Part Closure
Minor Delays
Good Service
Minor Delays
Good Service
Part Closure
Good Service
Planned Closure
于 2021-01-16T09:05:26.753 回答
0

首先,您拥有的导入与 kotlin 序列化库有关,而不是与协程有关。至于运行脚本,您需要指定编译器的依赖项。你可以像这样运行你的脚本:

kotlinc -script myscript.kts -classpath kotlinx-serialization-runtime-0.20.0-1.4.0-rc-95.jar

我使用了旧的 kotlin 序列化运行时,但您需要根据需要调整命令。

于 2021-01-12T13:02:24.907 回答