SuperAPI AI 工具集

graalvm-docs

设计与创作

查看项目

更新于 10-15 20:27

技能介绍

用途:当用户询问 GraalVM 原生镜像编译、反射注册、原生构建失败或原生可执行文件测试时,通过 WebFetch 查询 GraalVM 官方文档,并与 ide-sidecar 代码库中的原生编译模式交叉比对。

主要能力:先确定项目 JDK 版本,再按版本选择文档 URL。版本相关(优先):https://www.graalvm.org/jdk{version}/reference-manual/native-image;最新版(回退):https://www.graalvm.org/latest/reference-manual/native-image。例如 JDK 21 使用 https://www.graalvm.org/jdk21/reference-manual/native-image。主题路径包括:概览 /、反射 /dynamic-features/Reflection/、JNI /dynamic-features/JNI/、资源 /dynamic-features/Resources/、构建配置 /overview/BuildConfiguration/、兼容性 /metadata/Compatibility/。Quarkus 指南同样支持版本化 URL:https://quarkus.io/version/{major.minor}/guides,回退 https://quarkus.io/guides,主题含 /building-native-image 与 /writing-native-applications-tips。

使用方式:从 .sdkmanrc 或 pom.xml 读取 JDK 版本,命令为 grep -i 'java|jdk' .sdkmanrc 2>/dev/null; grep 'maven.compiler.release|java.version' pom.xml | head -3。将问题映射到主题表,先查项目文件,再用版本化 URL 抓取相关页面;跨主题问题抓取多页;表中未覆盖时用 WebSearch,如 site:graalvm.org native-image <topic>。

项目特定位置:反射注册查 @RegisterForReflection 与 ReflectionConfiguration.java;原生库加载查 SnappyNativeLoader.java、ZstdNativeLoader.java 与 NativeLibraryUtil;原生镜像配置在 src/main/resources/META-INF/native-image/;构建参数在 application.yml 的 quarkus.native 段。

常见错误对应:ClassNotFoundException 多为缺少反射注册;NoSuchMethodException 为方法未注册;MissingResourceException 为资源未包含;JNI UnsatisfiedLinkError 为原生库未加载或 JNI 未配置;构建期 ExceptionInInitializerError 需 --initialize-at-run-time;UnsupportedFeatureException 需查兼容性文档。

输出格式:先诊断原因,再给出项目内具体修复位置与既有模式,附官方文档摘录、验证方式(如 make test-native)及文档链接。

限制:资料未提供该技能的具体安装方式、收费与平台信息;文档 URL 内容稀疏或 404 时需回退 WebSearch。