我可以使用Java Scripting API将kotlin作为脚本运行 [英] Can I run kotlin as script with Java Scripting API

查看:419
本文介绍了我可以使用Java Scripting API将kotlin作为脚本运行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望使用从java运行kotlin代码作为脚本Java脚本API 与javascript类似:

I want to run kotlin code as script from java with Java Scripting API similar to this for 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

Yes, it's possible starting from the Kotlin 1.1: http://kotlinlang.org/docs/reference/whatsnew11.html#javaxscript-support

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

This configuration adds Kotlin scripts engine to my Kotlin 1.2 project:

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 (参见< a href =https://youtrack.jetbrains.com/issue/KT-17561\"rel =nofollow noreferrer> https://youtrack.jetbrains.com/issue/KT-17561 )。因此应该提供另外一个模块(从示例项目中的构建文件):

< dependency>
< groupId> org.jetbrains.kotlin< / groupId>
< artifactId> kotlin-compiler-embeddable< / artifactId>
< version> $ {kotlin.version}< / version>
< / dependency>

Update: Starting from Kotlin 1.2.20 kotlin-script-util doesn't depend on kotlin-compiler explicitly (see https://youtrack.jetbrains.com/issue/KT-17561). So one more module should be provided (as of the build file in example project): <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-compiler-embeddable</artifactId> <version>${kotlin.version}</version> </dependency>

这篇关于我可以使用Java Scripting API将kotlin作为脚本运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆