如何从 Kotlin/Java 中运行 Kotlin-Script (.kts) 文件?
我注意到IntelliJ可以将文件解析为Kotlin,代码编辑器将它们作为自由浮动的Kotlin文件进行选择。您还可以在 IntelliJ 中运行脚本,就像使用 main 方法运行 Kotlin 文件一样。脚本从上到下执行。.kts
这个表单非常适合我正在从事的项目,只要我知道一种从Java或Kotlin中使用它们的简单方法。
从 Java 或 Kotlin“运行”这些脚本的惯用方法是什么?
我注意到IntelliJ可以将文件解析为Kotlin,代码编辑器将它们作为自由浮动的Kotlin文件进行选择。您还可以在 IntelliJ 中运行脚本,就像使用 main 方法运行 Kotlin 文件一样。脚本从上到下执行。.kts
这个表单非常适合我正在从事的项目,只要我知道一种从Java或Kotlin中使用它们的简单方法。
从 Java 或 Kotlin“运行”这些脚本的惯用方法是什么?
我发布了一个简单的库,让你从常规的 Kotlin 程序运行脚本。
https://github.com/s1monw1/KtsRunner
示例类
data class ClassFromScript(val x: String)
文件.kts
import de.swirtz.ktsrunner.objectloader.ClassFromScript
ClassFromScript("I was created in kts")
用于加载类的代码
val scriptReader = Files.newBufferedReader(Paths.get("path/classDeclaration.kts"))
val loadedObj: ClassFromScript = KtsObjectLoader().load<ClassFromScript>(scriptReader)
println(loadedObj.x) // >> I was created in kts
如图所示,该类可用于执行脚本并返回其结果。该示例显示了一个脚本,该脚本创建通过该类型的实例加载,然后在常规程序中进行处理。KtsObjectLoader
.kts
ClassFromScript
KtsObjectLoader