问题标签 [substratevm]
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.
aws-lambda - Graal 原生镜像调用 https 抛出引发:java.security.InvalidAlgorithmParameterException:trustAnchors 参数必须为非空
我正在生成一个进行 https 调用的 Graal 本机图像。问题是它在尝试拨打电话时抛出异常:
痕迹:
以前我必须手动向 reflect.json 添加一堆类,直到我不知道如何继续:
Github 上有一个项目:https ://github.com/codependent/graal-app
要测试它运行:
export AWS_DEFAULT_REGION=eu-central-1
docker build . -t graap-app
./sam-local.sh
更新:
我在https://github.com/oracle/graal/blob/master/substratevm/JCA-SECURITY-SERVICES.md找到了与安全相关的文档
我删除了我添加到 reflect.json 的所有类,而是将--enable-all-security-services
标志放入native-image
位于build-native-image.sh
.
现在错误是:
原因:java.security.InvalidAlgorithmParameterException:trustAnchors 参数必须为非空
graalvm - Substrate VM 生成的二进制文件许可问题
SubstrateVM 在 GPLv2 下获得许可,并且使用 nativeimage 编译的二进制文件附带部分 substractevm,例如内存和线程管理。这是否意味着二进制文件也在 GPLv2 下?
不是substratevm静态链接到二进制文件吗?
java - 如何在 Eclipse 中使用 GraalVM (SubstrateVM) 将 Java 编译为 Native
我有一个研究项目(在 Java 8 中实现)将在 Eclipse 中包含几个类、几个主要功能和超过 10000 行代码。当输入不小的时候,程序会耗尽内存。
如果编译为本机应用程序,我想看看它是否会使用更少的堆栈内存。
我发现没有办法在 Eclipse 中执行此操作。
我做了
$GRAALVM_HOME/bin/javac /home/appu/Downloads/2019/June/20/HelloWorld.java
。我有一个工作二进制文件。
我试过
/home/appu/Downloads/Apps/GraalVM/2019-06-20/graalvm-ee-19.0.2/bin/native-image /home/appu/eclipse-nimi/NimishaGraalEE19/bin/nimi/decimate/Decimate.class
了Main entry point class '/home/appu/eclipse-nimi/NimishaGraalEE19/bin/nimi/decimate/Decimate.class' not found.
我试过
/home/appu/Downloads/Apps/GraalVM/2019-06-20/graalvm-ee-19.0.2/bin/native-image /home/appu/eclipse-nimi/NimishaGraalEE19/bin/*
了Main entry point class '/home/appu/eclipse-nimi/NimishaGraalEE19/bin/nimi' not found.
经典
编译成“HelloWorld.class”
它给出了一个可执行的“helloworld”,它是可执行的(application/x-executable)。
我可以从 Eclipse 获得相同的吗?对于多类文件,我可以从命令行获得相同的结果吗?
当我将上面的代码更改为
并添加另一个类
他们编译正确,但我得到
我想要的是一个可执行文件(在我的例子中是一个 Gnu/Linux 可执行文件)文件,它可以用作本机可执行文件。
我更喜欢 Eclipse 的解决方案,但欢迎使用命令行、Netbeans、VS Code ……或任何其他技术。
回应 BoriS 的回答:
几个小时前我尝试制作一个 jar,并制作了一个名为 Main.js 的文件。那没起效。
当我运行可执行 (application/x-executable) 类型的 Main 时,我得到了
maven-plugin - 使用 native-image-maven-plugin 构建 GraalVM 错误
我正在尝试使用native-image-maven-plugin
来构建 Java 项目,但出现以下错误:
java - 原生映像何时以及为何需要 SubstrateVM 框架?
我阅读了有关GraalVM和SubstrateVM框架的信息。我了解该native-image
命令可用于从 Java 源文件创建本机应用程序,如下所示:
这将创建一个本机二进制文件hello
,根据这个问题,它由 SubstrateVM 框架提供支持,该框架提供......
...其他东西(运行时)需要在没有 JVM 的情况下实际运行提前编译的 Java 字节码。
我不清楚:
- 何时以及为何需要 SubstrateVM 框架?仅在本机构建时需要还是在运行时也需要?二进制
hello
文件是由纯目标机器字节码组成,还是仍然存在 Java 字节码和嵌入的成熟虚拟机,即 SubstrateVM? - 与通常的C 程序
hello
相比,哪些开销需要运行本机映像?Hello World!
jvm - 为什么 GraalVM (SubstrateVM) 本机映像在运行时使用的内存比相应的 JIT 构建少得多?
我想知道为什么 Java 应用程序的 GraalVM (SubstrateVM) 本机映像使它运行在运行时行为将消耗更少内存的地方,但如果正常运行,它将消耗更多内存?
为什么不能让正常的 JIT 同样消耗少量的内存呢?
blockchain - 如何以某种方式运行 Substrate,以便立即验证交易以供开发人员使用?
为了开发目的,我如何在假验证模式下运行Substrate(有没有类似于--dev
在geth中立即挖掘交易的东西)?
javafx - 使用 GraalVM 的 Windows Javafx 本机编译:错误 LNK2001
我曾尝试编译我的小 Javafx 程序,该程序仅在 Windows 10 平台上使用 gradle client-gradle-plugin 版本 0.1.27 更改 Windows 壁纸。
- gradle build : 生成 JAR 的标准编译,成功。
- gradle nativeBuild,编译成功。毕业典礼
- nativeBuild,链接步骤失败并出现错误:LNK2001
你有什么想法,这是一个已知的问题吗?
客户端调试0.log
客户端调试0.log3
ios - GraalVM native-image 将 Java 库编译成 iOS 框架/库
GraalVM native-image 允许我们将 Java 库转换为本地可执行文件。它还允许编译到提到的共享库https://www.graalvm.org/docs/Native-Image/user/README
原生镜像可以构建为默认的独立可执行文件,也可以通过将 --shared 传递给 native-image 来构建为共享库。为了使图像有用,它需要至少有一个入口点方法。
我找到的最接近的线程是这个https://github.com/oracle/graal/issues/373,但仍然找不到任何适用于 iOS 的指南,这可能吗?我可以遵循任何指南吗?
java - 与 Java SE 兼容的 GraalVM 原生镜像(Substrate VM - Darwin)
SubstrateVM 允许将 JAVA 应用程序编译成 macOS ( Darwin ) 本机可执行文件。我找不到任何地方记录 SubstrateVM 实现了什么样的 Java (SE) 包。当我想将我的应用程序编译成 macOS (iOS) 本机可执行文件时,当我要决定可以使用哪种 Java 库时,这是我最大的担忧,因为一些开源/第三方 Java 库可能正在使用SubtracteVM 中可能找不到的某些 Java 包(sun 或 Java Swing)。我曾经使用类似 robovm 之类的 AOT,我知道有很多 Java 包没有在其中实现。
到目前为止,我能找到的有用限制是这个。但它仍然没有提到它是(或不)实现的 Java SE 的哪个部分。谁能指点我在哪里可以找到这些信息?