问题标签 [graalvm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
54 浏览

javascript - 允许javascript控制一些环境的东西

我想使用 GraalVM 运行用户编写的 javascript 代码(我正在编写一个 Java 11 项目)。

我可以将 Java 对象提供给 javascript 文件吗,在 javascript 中我想写类似的东西

当我的 Java 程序执行这个语句时,它就相当于它(java 程序)直接运行了

管他呢。

0 投票
2 回答
2103 浏览

java - IllegalStateException:在类路径上找不到语言和多语言实现。确保 truffle-api.jar 在类路径中

我想在我的 Java 项目中使用 GraalVM。

我将此依赖项添加到我的 pom.xml

但显然这还不够。

我还需要做什么来修复此错误?

0 投票
1 回答
84 浏览

java - 在主机对象上设置方法

我期待输出hi,但我没有输出。

我想知道 javascript (部分) 是否没有更新我提供context.eval的主机对象 ( )。new Thing()

0 投票
0 回答
47 浏览

java - javascript匿名函数的java类型

javascript函数会喜欢什么数据类型

用Java转换成?

我有主机对象 forevent和 for host

我不知道如何将 ^^ 转换为可以在 Java 中运行的函数。

0 投票
1 回答
154 浏览

java - 用于 javascript 事件处理程序的主机对象

我想允许 JavaScript 注册事件,语法如下

event对象提供不同的方法,具体取决于是什么'eventName'(取决于我想为其添加处理程序的事件类型)。

我需要为object和创建主机对象event,我假设需要的类必须object看起来像

如果有两种类型的事件。

但我不知道如何让 graalvm 自动选择正确的on方法,也不知道第二个参数使用什么类型(它必须是一个 JavaScript 匿名函数,它接受某个类型的单个参数,并且以后必须由我的 Java 代码运行)。

如何存储 JavaScript 匿名函数

作为某种 Java Runnable,并确保 GraalVM 知道on根据第一个字符串参数的值使用哪种方法(因为event传递的对象对于不同的事件会有所不同)。

我认为这可能是一个超级复杂的问题,我发现正确措辞很棘手。

我想为 JavaScript 创建一种方法来注册事件处理程序,这些事件处理程序是稍后将使用某些参数调用的函数。

0 投票
1 回答
613 浏览

graalvm - 在 GraalVM 架构上实现编程语言

在 GraalVM 架构上实现编程语言的(架构)差异是什么——特别是在使用 Sulong 的 Graal、Truffle 和 LLVM 之间?

我计划在 GraalVM 架构上重新实现现有的静态类型编程语言,这样我就可以从 Java 中轻松使用它。

目前有三种选择:

  • 发出 JVM 字节码
  • 编写一个 Truffle 解释器
  • 发出 LLVM 位码,使用 Sulong 在 GraalVM 上运行

在此处输入图像描述

0 投票
2 回答
210 浏览

scala - 用于 picocli graalvm 反射生成的 Sbt 任务?

在 picocli 中,他们给出了如何在构建 Maven 和 Gradle 期间生成 GraalVM 反射配置的示例。

摇篮示例

任务

我怎么能为 sbt 写一些等效的东西?

这是我到目前为止所得到的,但我不知道我是否朝着正确的方向前进。

编辑

在我最初的问题中,我有下面的代码,用我当前的代码问题解决了

0 投票
2 回答
4033 浏览

java - GraalVM 作为 ARM JRE 的 JIT 编译器

有人知道 GraalVM 是否可以用作 ARM 架构的 OpenJDK 发行版中的 JIT 编译器?

graalVM github 上可用的版本精确 AMD 架构和 github ARM 相关问题与本机映像创建有关(因此 AOT 编译器用于 ARM)。也许还有一个问题:如果他们成功地为 arm 创建原生映像,是否意味着 GraalVM 也可以作为 arm 的 JIT 编译器使用?或者这两件事是独立的?我从编译器生态系统开始 :)

非常感谢您的回答。

0 投票
0 回答
376 浏览

micronaut - 为什么我的 Micronaut GraalVM 原生映像应用程序启动如此缓慢?

演示项目位于:https ://github.com/codependent/micronaut-graal-hello-world

我按照以下说明创建了一个基本的 Micronaut 应用程序:https ://docs.micronaut.io/1.1.0.M1/guide/index.html#graalServices

使用包含的脚本可以很好地生成本机图像./build-native-image.sh

创建后我启动./micronaut-graal-hello-world

从我在 shell 中启动图像的那一刻起,大约需要 30 秒来记录:19:26:15.113 [main] INFO io.micronaut.runtime.Micronaut - Startup completed in 19ms. Server Running: http://localhost:8080

因此,Micronaut 应用程序启动得非常快(19 毫秒!!),但启动图像需要 30 秒。这怎么可能?这使得使用 GraalVM 图像毫无意义,因为进程的启动时间太慢。

注意我的环境是 MacOS Mojave

0 投票
3 回答
2392 浏览

aws-lambda - 使用 DynamoDB 和 Graal 自定义运行时的 Micronaut 无服务器应用程序抛出无法构造 com.amazonaws.partitions.model.Partitions 的实例

此处提供的示例项目: https ://github.com/codependent/micronaut-aws-lambda-proxy-graal

我在 Amazon AWS 上部署了一个 Micronaut 应用程序作为 Lambda 函数。它被编译成 GraalVM 原生镜像并使用AWS Lambda Custom Runtime 运行

如果应用程序不使用 DynamoDB,它会顺利运行。当配置它并作为一个普通的 Java 应用程序启动时,它也可以正常工作。但是,当将其用作在 AWS 上运行的 Graal 本机映像时,它会失败并显示:

io.micronaut.context.exceptions.BeanInstantiationException:错误实例化类型为 [com.amazonaws.services.dynamodbv2.document.DynamoDB] 的 bean 消息:无法从 com/amazonaws/partitions/endpoints.json 加载分区元数据

我正在使用此依赖项:compile 'com.amazonaws:aws-java-sdk-dynamodb:1.11.504'

如何解决无法加载分区元数据错误?

完整日志:

更新:

我错过了以下异常的嵌套原因:Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of com.amazonaws.partitions.model.Partitions (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

这是完整的堆栈跟踪:

更新 2:

我还尝试在 reflect.json 中为 Partitions 类添加一个条目: