问题描述
GraalVM polyglot API允许在基于JVM的主机应用程序中嵌入和运行来自来宾语言的代码。我正在使用native-image
并另外安装了python
,所以我可以通过我的Java应用程序通过
js
和python
脚本
context.eval("js","print('Hello JavaScript!');")
context.eval("python","print('Hello Python!');")
效果很好。但是,如果我尝试以类似方式评估kotlin脚本-
context.eval("kotlin","data class Company(val name: String,val year: Long);")
然后失败
Exception in thread "main" java.lang.IllegalArgumentException: A language with id 'kotlin' is not installed. Installed languages are: [js,llvm,python].
at com.oracle.truffle.polyglot.polyglotEngineException.illegalArgument(polyglotEngineException.java:128)
at com.oracle.truffle.polyglot.polyglotEngineImpl.requirePublicLanguage(polyglotEngineImpl.java:867)
at com.oracle.truffle.polyglot.polyglotContextImpl.requirePublicLanguage(polyglotContextImpl.java:899)
at com.oracle.truffle.polyglot.polyglotContextImpl.eval(polyglotContextImpl.java:868)
at org.graalvm.polyglot.Context.eval(Context.java:345)
at org.graalvm.polyglot.Context.eval(Context.java:371)
我了解它指出仅[js,python]
可用,但是我想知道是否可以添加任何内容来评估kotlin
脚本,是否也是如此?或者,也许还有另一种方法可以在运行时通过Java应用程序评估动态kotlin脚本?
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)