首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GraalVM JavaScript面临“主机访问”问题。

问GraalVM JavaScript面临“主机访问”问题。
EN

Stack Overflow用户
提问于 2021-12-27 04:00:24
回答 1查看 121关注 0票数 0

这是在JavaScrupt CE 21.3.0的GraalVM解释器外壳中完成的。

试图访问某些Java类(例如java.io.File )会导致以下错误:

代码语言:javascript
复制
TypeError: Access to host class java.io.File is not allowed or does not exist.

在没有任何选项的情况下运行shell时,需要大量操作才能获得错误:

代码语言:javascript
复制
new java.io.File()

在使用--js.java-package-globals=false运行shell时,只需要这么多:

代码语言:javascript
复制
Java.type("java.io.File")

我该如何解决这个问题?如果这些功能应该是提供的,那么为什么它们不能立即发挥作用呢?

EN

回答 1

Stack Overflow用户

发布于 2022-01-04 13:03:16

我假设您缺少了--jvm标志,以便在Java所需的jvm模式下运行js启动程序。

代码语言:javascript
复制
$ ./graalvm-ee-java11-21.3.0/bin/js --eval 'new java.io.File(""); console.log("OK!")'
TypeError: Access to host class java.io.File is not allowed or does not exist.
        at <js> :program(Unknown)

$ ./graalvm-ee-java11-21.3.0/bin/js --jvm --eval 'new java.io.File(""); console.log("OK!")'
OK!

这是记录在案的这里

要启用Java互操作性,必须向本机启动程序提供--jvm选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70491559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档