我可以使用Java Scripting API将kotlin作为脚本运行吗

我想使用Java Scripting

API从Java运行kotlin代码作为脚本,类似于javascript:

import javax.script.*;

public class EvalScript {

public static void main(String[] args) throws Exception {

// create a script engine manager

ScriptEngineManager factory = new ScriptEngineManager();

// create a JavaScript engine

ScriptEngine engine = factory.getEngineByName("JavaScript");

// evaluate JavaScript code from String

engine.eval("print('Hello, World')");

}

}

或类似的API。

回答:

是的,可以从Kotlin

1.1开始:http : //kotlinlang.org/docs/reference/whatsnew11.html#javaxscript-

support

此配置将Kotlin脚本引擎添加到我的Kotlin 1.2项目中:

  • META-INF/services/javax.script.ScriptEngineFactory文件,其内容来自https://github.com/JetBrains/kotlin/blob/master/libraries/examples/kotlin-jsr223-local-example/src/main/resources/META-INF/services/javax.script。 ScriptEngineFactory

  • 2个库: <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-script-runtime</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-script-util</artifactId> <version>${kotlin.version}</version> </dependency>

从Kotlin 1.2.20开始kotlin-script-util并不kotlin-

compiler明确依赖(请参阅https://youtrack.jetbrains.com/issue/KT-17561)。因此,应该再提供一个模块(例如示例项目中的构建文件): <dependency>

<groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-compiler-

embeddable</artifactId> <version>${kotlin.version}</version> </dependency>

以上是 我可以使用Java Scripting API将kotlin作为脚本运行吗 的全部内容, 来源链接: utcz.com/qa/406064.html

回到顶部