dleuck
02/22/2025, 7:29 AMdependencies {
implementation("org.jetbrains.kotlin:kotlin-scripting-common:2.0.0")
implementation("org.jetbrains.kotlin:kotlin-scripting-jvm:2.0.0")
implementation("org.jetbrains.kotlin:kotlin-scripting-jvm-host:2.0.0")
implementation("org.jetbrains.kotlin:kotlin-script-runtime:2.0.0")
implementation("org.jetbrains.kotlin:kotlin-compiler-embeddable:2.0.0")
implementation("org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:2.0.0")
implementation("org.jetbrains.kotlin:kotlin-main-kts:2.0.0")
}
Written a simple ScriptEngine:
class ScriptEngine {
companion object {
val engine = ScriptEngineManager().getEngineByExtension("kts")
?: throw RuntimeException("Kotlin script engine not found")
}
fun execute(script: String): Result<Any?> = runCatching {
engine.eval(script)
}
}
...and tried to run it:
fun main() {
val engine = ScriptEngine()
val result = engine.execute(
"""
println("Hello from script!")
2 + 2
""".trimIndent()
)
println("Script result: ${result.getOrNull()}")
}
It always says it can't locate the engine. If I enumerate the engines I get an empty list.Chrimaeon
02/22/2025, 9:37 AMChrimaeon
02/22/2025, 10:11 AMdleuck
02/22/2025, 10:45 AMChrimaeon
02/22/2025, 1:14 PM