diff --git a/java/fury-core/src/main/java/org/apache/fury/codegen/CodegenContext.java b/java/fury-core/src/main/java/org/apache/fury/codegen/CodegenContext.java index 1523eee7ff..8ec6cacb86 100644 --- a/java/fury-core/src/main/java/org/apache/fury/codegen/CodegenContext.java +++ b/java/fury-core/src/main/java/org/apache/fury/codegen/CodegenContext.java @@ -38,6 +38,7 @@ import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; +import org.apache.fury.Fury; import org.apache.fury.codegen.Expression.BaseInvoke; import org.apache.fury.codegen.Expression.Reference; import org.apache.fury.collection.Collections; @@ -299,6 +300,9 @@ public String type(Class clz) { c.getClassLoader() == null ? Thread.currentThread().getContextClassLoader() : c.getClassLoader(); + if (beanClassClassLoader == null) { + beanClassClassLoader = Fury.class.getClassLoader(); + } beanClassClassLoader.loadClass(hasPackage ? pkg + "." + sn : sn); return Boolean.TRUE; } catch (ClassNotFoundException e) {