首页 > 解决方案 > 使用来自 IntelliJ 的绑定运行 Kotlin 脚本 (.kts) - 未解决的参考:绑定

问题描述

我正在尝试从 Kotlin 程序运行.kts脚本(使用脚本引擎)。

Kotlin 脚本位于项目的资源文件夹中,通常它们支持自动完成、IDE 检查、自动完成等。

当我想使用绑定将外部变量传递给脚本时,问题就出现了。我正在做类似的事情:

scriptEngine.eval(scriptContent, scriptEngine.createBindings().apply { putAll(bindings) })

bindings是一个Map<String, Any>包含我想在我的脚本中访问的变量:bindings["variable"].

问题是 IntellIJ 在 .kts 脚本中无法识别bindings,因此它显示“未解析的引用:绑定”。如果我从命令行运行脚本一切都很好,但在 IntelliJ 内部我有这个问题。

有没有办法克服这个问题?有没有人遇到过同样的问题?

标签: kotlinintellij-ideajava-scripting-engine

解决方案


推荐阅读