Kotlin脚本(.kts)-如何将其划分为多个文件?

Kotlin脚本(.kts)-如何将其划分为多个文件?,kotlin,kotlinc,Kotlin,Kotlinc,我有一个Generator.kts文件。当我使用以下命令执行它时: kotlinc -script Generator.kts 一切正常 但是,现在我的脚本已经增长,我需要将该类分割成多个文件 我这样做了,但当我再次尝试执行它时,会出现以下错误: Generator.kts:8:23: error: unresolved reference: CSVReader val csvData = CSVReader().readCSV()

我有一个Generator.kts文件。当我使用以下命令执行它时:

kotlinc -script Generator.kts
一切正常

但是,现在我的脚本已经增长,我需要将该类分割成多个文件

我这样做了,但当我再次尝试执行它时,会出现以下错误:

Generator.kts:8:23: error: unresolved reference: CSVReader
        val csvData = CSVReader().readCSV()
                      ^
Generator.kts:10:23: error: unresolved reference: Folders
        val folders = Folders()
                      ^
Generator.kts:14:9: error: unresolved reference: KeyStore
        KeyStore().generateKeyStoreFile(
基本上,它无法找到我创建的所有类(CSVReader.kt、Folders.kt和KeyStore.kt)。所有这些类都在同一个文件夹中(包括Generator.kts)


如何运行使用多个文件的Kotlin脚本?

您可以将所有子脚本编译成工件并将其添加到类路径中

或者,您可以使用第三方工具,如将它们动态地包含到主脚本中

#!/usr/bin/env kscript

@file:Include("utils.kt")

val robustMean = listOf(1.3, 42.3, 7.).median()
println(robustMean)
有关详细信息和示例,请参见


免责声明:我是kscript的贡献者。

我认为您应该看看这个问题: