我可以使用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。 ScriptEngineFactory2个库:
<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