Skip to content

jdk21兼容问题 #69

@jackliloveuu

Description

@jackliloveuu

mac jdk21 环境下,调试过程发现如下pom内部引用了废弃的sun包,这个可以升级下吗

com.googlecode.aviator
aviator
5.4.3

  Class<?> clazz = Class.forName("sun.misc.Unsafe");
  if (clazz != null) {
    Field f = clazz.getDeclaredField("theUnsafe");
    f.setAccessible(true);
    Object unsafe = f.get(null);
    MethodHandle methodHandle =
        MethodHandles.lookup().findVirtual(clazz, "defineAnonymousClass",
            methodType(Class.class, Class.class, byte[].class, Object[].class));

这个问题是因为 Aviator 5.4.3 版本不支持 JDK 21。sun.misc.Unsafe.defineAnonymousClass 方法在 JDK 21 中已经被完全移除。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions