GraalVM 本机映像错误:未满足 Visual Studio 2022 要求

Ali*_*306 5 java windows-10 graalvm-native-image

我正在尝试在 Windows 10 计算机上使用 GraalVM 从简单的 Java 程序创建本机映像。Java 程序 Hello.java 是一个基本的“Hello World”打印语句。

我按照以下步骤操作:

  1. 使用“Hello World”打印语句创建 Hello.java。
  2. 使用 javac Hello.java 编译它,生成一个 Hello.class 文件。
  3. 尝试使用以下命令创建本机映像:

native-image Hello

但是,我遇到了以下错误:

Error: On Windows, GraalVM Native Image for JDK 21 requires Visual Studio 2022 version 17.1.0 or later (C/C++ Optimizing Compiler Version 19.31 or later).
Compiler info detected: cl.exe (microsoft, x64, 19.29.30152)
Error: To prevent native-toolchain checking provide command-line option -H:-CheckToolchain
Run Code Online (Sandbox Code Playgroud)

错误

我已经安装了 Visual Studio Community 2022。可能是什么原因导致此错误?我该如何解决它?是否需要任何特定配置或额外步骤才能使 GraalVM 正确识别 Visual Studio 2022?

附加信息:

  • 系统变量/路径/ C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\
  • openjdk版本“21”2023-09-19
  • OpenJDK 运行时环境 GraalVM CE 21+35.1(内部版本 21+35-jvmci-23.1-b15)

视觉工作室

小智 2

我看到中文语言环境的用户报告了类似的错误。因此,也许您的 cl.exe 报告了一些native-image无法解析的本地化版本字符串。所以一个想法是尝试使用 en_US 语言环境。

另一件可以尝试的事情是跳过 VS 检测,同时确保native-image可以访问编译器:

  • 启动命令提示符
  • 在其中运行 vsvars64.bat 以设置编译器路径和环境
  • native-image使用-H:-CheckToolchain选项运行