From b826fc43aa80f68bec29e3c5f08f9479225a5b5b Mon Sep 17 00:00:00 2001 From: Luke Date: Thu, 24 Jul 2025 11:23:55 +0800 Subject: [PATCH] =?UTF-8?q?chore:=E4=BC=98=E5=8C=96=20Native=20Image=20?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 module-info.java 中对 org.graalvm.nativeimage 的直接引用 - 修改 VMUtils 中的 isNativeImage 方法,使用反射调用 ImageInfo --- src/main/java/module-info.java | 1 - src/main/java/org/jcnc/snow/vm/utils/VMUtils.java | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index 3597cae..3f8a7b3 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -4,7 +4,6 @@ module org.jcnc.snow.compiler { uses CLICommand; requires java.desktop; requires java.logging; - requires org.graalvm.nativeimage; exports org.jcnc.snow.compiler.ir.core; exports org.jcnc.snow.compiler.ir.instruction; } diff --git a/src/main/java/org/jcnc/snow/vm/utils/VMUtils.java b/src/main/java/org/jcnc/snow/vm/utils/VMUtils.java index ca8d25a..8298df8 100644 --- a/src/main/java/org/jcnc/snow/vm/utils/VMUtils.java +++ b/src/main/java/org/jcnc/snow/vm/utils/VMUtils.java @@ -1,6 +1,5 @@ package org.jcnc.snow.vm.utils; -import org.graalvm.nativeimage.ImageInfo; import org.jcnc.snow.vm.engine.VirtualMachineEngine; /** @@ -52,9 +51,11 @@ public class VMUtils { */ public static boolean isNativeImage() { try { - return ImageInfo.inImageCode(); + Class imageInfo = Class.forName("org.graalvm.nativeimage.ImageInfo"); + return (Boolean) imageInfo.getMethod("inImageCode").invoke(null); } catch (Throwable t) { return false; } } + }