问题标签 [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 投票
2 回答
1297 浏览

javascript - 将 Nashorn 迁移到 GraalVM

我正在使用来自 OpenJDK 12 的 Nashorn JS 引擎。Nashorn 似乎已被弃用。我正在寻找哪些是可用的替代品。我找到了 GraalVM,但我不确定这是否是最好的。如何从 Java 执行 GraalVM JavaScript?你有什么例子吗?

使用 Nashorn 从 Java 中使用:

在 Nashorn 中,我创建了一个 WrappedMongoDatabase,它扩展了 AbstractJSObject。在那里我添加了一些“虚拟”方法来模拟 MongoDB 查询语言,例如 getCollection('persons').find()... 你知道在 GraalVM 中替换 AbstractJSObject 的方法吗?

我看了一下ProxyObject,不知何故我找不到像AbstractJSObject中那样覆盖调用(Object thiz,Object ... args)的方法。

0 投票
1 回答
364 浏览

java - Python 作为 graalvm 中的“宿主”语言

我正在尝试使用 graalvm 从 Python 代码访问 Java 对象。有人可以指出我的示例代码吗?本质上,我希望能够运行 graalpython --polyglot --jvm myscript.py 其中 myscript.py 能够实例化 Java 对象

我已经浏览了 graalvm 文档,并且我发现的唯一示例从 Python 代码实例化 Java 数组(见下文)我还浏览了此链接中的多语言示例 https://www.graalvm.org/docs/参考手册/嵌入/#access-java-from-guest-languages,它本质上运行 Java polyglot API,它运行访问 java 对象的 python 代码,但这不是我想要的。

下面的代码示例来自此链接,其中还提到“并访问除 Java 数组之外的其他类,需要重新编译图像并提供反射配置文件”,但我不太明白如何做到这一点。

我尝试将上面的代码修改为:

我得到了以下o/p:

0 投票
1 回答
386 浏览

spring - GraalVm 与 Spring MVC

我可以用 graalvm 运行 spring mvc 项目吗?

(Spring MVC 项目而不是 Spring Boot)

如果是:是否有任何性能改进?(任何带有 graalvm 的 spring mvc 示例都会有所帮助。)

如果否:为什么?

0 投票
1 回答
1302 浏览

maven-plugin - 使用 native-image-maven-plugin 构建 GraalVM 错误

我正在尝试使用native-image-maven-plugin来构建 Java 项目,但出现以下错误:

0 投票
1 回答
2918 浏览

javascript - 如何在 Java 中使用 GraalVM?类未找到异常

我想让这个例子工作:https ://github.com/graalvm/graal-js-jdk11-maven-demo/blob/master/src/main/java/com/mycompany/app/App.java

但我在线程“main”java.lang.NoClassDefFoundError: jdk/vm/ci/services/Services 中遇到异常

我通过 Maven 包含了 GraalVM

在这个最小示例中引发了相同的异常

绒球

我正在使用 jdk-12.0.1(Open JDK)并在 Windows 10 计算机上工作。

我在互联网上的某个地方发现了这个

应作为 VM 参数包含在内。当我这样做时,异常更改为:

线程“主”java.lang.IllegalAccessError 中的异常:类 org.graalvm.compiler.truffle.runtime.hotspot.AbstractHotSpotTruffleRuntimeAccess(在未命名模块 @0x2d8e6db6 中)无法访问类 jdk.vm.ci.services.Services(在模块 jdk. internal.vm.ci) 因为模块 jdk.internal.vm.ci 不会将 jdk.vm.ci.services 导出到未命名的模块 @0x2d8e6db6

也许模块有问题:modules-info.java

0 投票
3 回答
168 浏览

graalvm - GraalVM/Polyglot:如何以编程方式获取 SourceLocation

有没有办法从java获取当前源位置(SourceSection)?

例如通过 context.eval() 执行的 js 脚本调用 java 方法,java 方法记录当前 js 脚本名称+行

PolyglotException 有一个提供此信息的 getSourceLocation()。来自 polyglot 的堆栈跟踪似乎包含有关源位置的信息,例如:program(Unnamed:2:23-53)

0 投票
0 回答
1463 浏览

micronaut - 本机映像构建失败并出现错误:找不到主入口点类“io.micronaut.function.aws.runtime.MicronautLambdaRuntime”

我有一个可以在我的本地环境中正常运行的 Micronaut 应用程序。我现在正在尝试为它构建 Docker 映像。

构建失败并出现以下错误:

但是,我检查了我的项目的项目和外部依赖项是否有micronaut-function-aws-custom-runtimejar

这是build-native-image.sh文件:

堆栈跟踪:

我不确定是什么导致了这个错误。任何帮助表示赞赏!

0 投票
1 回答
1187 浏览

java - 使用 GraalPython 作为 Jython 替代品

我想知道是否可以使用GraalPython作为 Java 库来解释标准 JVM 上的 Python 代码。如果是这样,替换Jython(仅支持 Python 2.7)会是一个不错的选择吗?

如果在不导入整个 GraalVM 项目的情况下可以做到这一点,那就太好了。我希望只有Truffle和基于它构建的 Python 解释器是必要的。

如果这是不可能的,是否有任何好的 Python 3 可用的 Java 实现?

0 投票
1 回答
378 浏览

java - 类不使用 GraalVM native-image 实现 Quarkus 项目的 org.graalvm.nativeimage.hosted.Feature 错误

我正在尝试使用 GraalVM 和 Maven 将示例Quarkus项目编译为本机映像。这是我的 Quarkus 服务的代码:

当我像往常一样编译它时,mvn package一切顺利。但是当我尝试将其编译为本机图像时,mvn package -Pnative我得到了这样的错误:

错误:类没有实现 org.graalvm.nativeimage.hosted.Feature:io.quarkus.runner.AutoFeature

是什么原因,我该如何解决?我使用 GraalVM 19.1.1 和 Quarkus 0.13.1。

0 投票
0 回答
132 浏览

graalvm - 是否可以在 GraalVM 19.11 上像 REPL 一样运行 JShell?

我尝试在 GraalVM 上执行几行 Java 和 JavaScript 代码。我将 REPL 用于 JavaScript 和节点。它工作得很棒,但我找不到 jshell REPL 来运行 java 代码。当我参考https://www.graalvm.org/docs/getting-started/文件时。我看到下面运行java代码的方法。

GraalVM 19.1.1 基于 JDK 版本 8u222,而 jshell 是从 JDK 9 开始引入的。我希望将来 GraalVM 可以容纳 jshell REPL。

是否可以在 GraalVM 上运行 jshell REPL?是否有任何其他工具可用于在 GraalVM 上运行 jshell REPL?