我可以在 Kotlin 脚本中使用 kotlinx 类吗?

问题描述

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

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。

解决方法

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

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

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

,

如果将名称更改为 *.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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...