我尝试使用 Kotlin 构建一个简单的应用程序,该应用程序在 GraalVM 本机映像上使用 kotlin.random.Random 类。但这在运行时失败了。堆栈跟踪见下文。
作为解决方法,您可以使用 java 标准 java.util.Random 类。
有人可以告诉我如何使用 Kotlin 类型吗?
应用程序.kt
import kotlin.random.Random
fun main(args: Array<String>) {
println(Random.nextInt())
}
Run Code Online (Sandbox Code Playgroud)
Dockerfile
############################################################################
# Graal Native Image Early-Access Build
#
# Make sure you configured Docker to use at least 6gb ram!
# build from project root dir with: docker build -t example-kotlin-random-graalvm-native:1.0.0-SNAPSHOT .
# run with: docker run -d example-kotlin-random-graalvm-native:1.0.0-SNAPSHOT
############################################################################
#####
# The builder image to build the native app
#####
FROM findepi/graalvm:native as builder …Run Code Online (Sandbox Code Playgroud) 我使用Java 8并使用默认的JavaScript引擎(Nashorn).
我想看看它与"高度炒作"的GRAAL JS相比如何.看到:
特别是因为我听说他们想要弃用nashorn:
有人知道如何(轻松)访问graaljs吗?我希望找到一个pom.xml或一个下载jar文件但不运气的地方
是否有能力使用GraalVM在AWS Lambda函数中运行Java?我阅读了许多关于使用GraalVM AOT(提前)编译功能的Java应用程序冷启动的文章,并减少了持续时间,我想尝试在我的AWS Lambda项目中使用它.
如何为Java 11构建GraalVM JVM?
(I don't see any official distributives only java 8)
我知道这些技术都是相关的,但有人可以解释一下每一项技术的用途以及它们如何组合在一起吗?
随着最近发布的 GraalVM 19.3,它增加了对 Java 11 的支持,这让我们再次回顾起来很有趣。Oracle有免费社区版和非免费企业版两个版本是可以理解的,但是对于两者之间的实际区别是什么,他们非常模糊。
常见问题解答说:
Oracle GraalVM 企业版和 GraalVM 社区版有什么区别?GraalVM Enterprise 有几个关键的进步,使其成为企业的首选产品,而不是 GraalVM 社区,包括:
- 通过更高的峰值性能和更低的内存占用提高效率,从而降低基础架构成本并缩短应用程序反应时间
- 改进的安全功能可保护您跨所有语言的应用程序
- 企业支持 24x7x365,让您高枕无忧,您的环境得到全球 GraalVM 专家的支持
对于需要关键任务应用程序支持的人来说,最后一项是可以理解的,但我发现前两项相当模糊。
因此,我想听听实际使用 GraalVM 的人的意见,如果差异可以很容易地总结出来——特别是如果有“这对我们有什么好处”——数据的支持——让开发人员找出企业版会给我们带来什么。特别是从 docker/kubernetes 视图上的本机图像来看,因为我们目前的主要用例是基于 Java 的微服务(目前基于 Spring Boot,但 microprofile WAR 方法很有趣,可以摆脱运行时的脆弱性)。
GraalVM native-image 允许我们将 Java 库转换为本地可执行文件。它还允许编译为提到的共享库https://www.graalvm.org/docs/Native-Image/user/README
本机映像可以构建为独立的可执行文件,这是默认设置,也可以通过将 --shared 传递给 native-image 来构建为共享库。要使图像有用,它需要至少有一个入口点方法。
我找到的最接近的线程是https://github.com/oracle/graal/issues/373,但仍然找不到任何适用于 iOS 的指南,这可能吗?我可以遵循任何指南吗?
我将 spring boot 应用程序从 1.5 升级到 2.3.5(使用 spring boot gradle 插件)。当 spring boot 应用程序启动时,我收到 4 次以下警告:
2020-11-05 13:29:19.432 WARN 3931 --- [nio-8080-exec-4] ohvipjavabean.JavaBeanExecutable : HV000254: FacetField(String, int, String, String, String, int, Class) 缺少参数元数据, 声明隐式或合成参数。如果多个参数具有相同的擦除,则方法参数的通用类型信息的自动解析可能会产生不正确的结果。要解决此问题,请使用“-parameters”标志编译您的代码。
我的 FacetField 枚举如下所示:
public enum FacetField {
CONST_1("KEY", "ESFIELD", "RESOURCEKEY"),
CONST_2("KEY", "ESFIELD", "RESOURCEKEY"),
CONST_3("KEY", "ESFIELD", ""),
CONST_4("KEY", "ESFIELD", "ESMAXFIELD", "RESOURCEKEY", Hours.class),
CONST_5("KEY", "ESFIELD", "RESOURCEKEY", Experience.class),
CONST_6("KEY", "ESFIELD", "", Distance.class);
private String key;
private String esField;
private String esMaxField;
private String resourcekey;
private Class<? extends RangeFacet> rangeFacet; …Run Code Online (Sandbox Code Playgroud) 我想从我的 Compose 桌面应用程序创建一个小型二进制文件。以下是 Compose 的开箱即用选项:
我相信可以使用 GraalVM 将 Uber Jar 转换为本机二进制文件。我还尝试运行 native-image 命令,但它创建了一个 exe,该 exe 又运行 Jar,这又回到了同样的问题;计算机上必须安装 Java 11。我缺少什么?
我一直在 Windows 机器上为我的一个项目试验 Gluon 的客户端 Maven 插件。我决定在这里尝试一下他们的“hello world”示例之一。我遵循了如何配置机器的所有步骤。
但是,我遇到了一些错误。由于某种原因,编译总是失败并给出错误“无法运行程序“cl””。有谁知道如何解决这个问题?
我正在“VS 2019 的 x64 本机工具命令提示符”窗口中运行 client:build 命令。
日志如下:
java.io.IOException: Cannot run program "cl" (in directory "C:\Users\Evan\Documents\client-samples\Maven\HelloFXML\target\client\x86_64-windows\gvm\hellofxml"): CreateProcess error=2, The system cannot find the file specified
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
[INFO] ------------------------------------------------------------------------
at com.gluonhq.substrate.util.ProcessRunner.setupProcess(ProcessRunner.java:336)
[INFO] BUILD FAILURE
at com.gluonhq.substrate.util.ProcessRunner.runProcess(ProcessRunner.java:194)
[INFO] ------------------------------------------------------------------------
at com.gluonhq.substrate.target.AbstractTargetConfiguration.compileAdditionalSources(AbstractTargetConfiguration.java:330)
[INFO] Total time: 2.860 s
at com.gluonhq.substrate.target.AbstractTargetConfiguration.compile(AbstractTargetConfiguration.java:130)
[INFO] Finished at: 2020-06-02T17:37:39-04:00
at com.gluonhq.substrate.SubstrateDispatcher.nativeCompile(SubstrateDispatcher.java:414)
[INFO] ------------------------------------------------------------------------
at com.gluonhq.NativeCompileMojo.execute(NativeCompileMojo.java:54)
[ERROR] Failed to execute goal com.gluonhq:client-maven-plugin:0.1.26:compile (default-cli) on project hellofxml: …Run Code Online (Sandbox Code Playgroud) graalvm ×10
java ×7
jvm ×2
aws-lambda ×1
ios ×1
java-11 ×1
javafx ×1
kotlin ×1
maven ×1
nashorn ×1
serverless ×1
spring ×1
spring-boot ×1
substratevm ×1
windows ×1