Kotlin Script (.kts) - 如何将其分成多个文件?
Kotlin Script (.kts) - How to divide it into multiple files?
我有一个 Generator.kts 文件。当我执行它时使用:
kotlinc -script Generator.kts
一切如预期。
但是,现在我的脚本变大了,我需要将 class 分成多个文件。
我这样做了,但是当我再次尝试执行它时,出现以下错误:
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(
基本上它无法找到我创建的所有 classes(CSVReader.kt、Folders.kt 和 KeyStore.kt)。所有这些 class 都在同一个文件夹中(包括 Generator.kts)。
如何 运行 使用多个文件的 Kotlin 脚本?
您可以将所有子脚本编译成工件并将其添加到类路径
或者您可以使用 kscript 等第三方工具将它们即时包含到您的主脚本中。
#!/usr/bin/env kscript
@file:Include("utils.kt")
val robustMean = listOf(1.3, 42.3, 7.).median()
println(robustMean)
有关详细信息和示例,请参阅 https://github.com/holgerbrandl/kscript#ease-prototyping-with-include
免责声明:我是 kscript 的贡献者。
我有一个 Generator.kts 文件。当我执行它时使用:
kotlinc -script Generator.kts
一切如预期。
但是,现在我的脚本变大了,我需要将 class 分成多个文件。
我这样做了,但是当我再次尝试执行它时,出现以下错误:
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(
基本上它无法找到我创建的所有 classes(CSVReader.kt、Folders.kt 和 KeyStore.kt)。所有这些 class 都在同一个文件夹中(包括 Generator.kts)。
如何 运行 使用多个文件的 Kotlin 脚本?
您可以将所有子脚本编译成工件并将其添加到类路径
或者您可以使用 kscript 等第三方工具将它们即时包含到您的主脚本中。
#!/usr/bin/env kscript
@file:Include("utils.kt")
val robustMean = listOf(1.3, 42.3, 7.).median()
println(robustMean)
有关详细信息和示例,请参阅 https://github.com/holgerbrandl/kscript#ease-prototyping-with-include
免责声明:我是 kscript 的贡献者。