gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 13:46:53 24 4
gpt4 key购买 nike

我想使用 Java Scripting API 将 kotlin 代码作为 java 脚本运行与 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

KEEP-75有一个 JSR-223 API 调用的例子:

val engine = ScriptEngineManager().getEngineByExtension("main.kts")!!
engine.eval("""
@file:DependsOn("junit:junit:4.11")

org.junit.Assert.assertTrue(true)

println("Hello, World!")
""")

下面的配置将 Kotlin 脚本引擎添加到我的 Kotlin 1.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)。所以应该再提供一个模块(从 build file in example project 开始):

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

关于java - 我可以使用 Java Scripting API 将 kotlin 作为脚本运行吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38686957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com