From 2b575df3f919a21c6488092224287acfc686e1e0 Mon Sep 17 00:00:00 2001 From: slhafzjw Date: Sat, 2 May 2026 00:36:34 +0800 Subject: [PATCH] fix(agent): add url class loader to support load external modules --- .../agent/factory/context/AgentRegisterContext.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/factory/context/AgentRegisterContext.kt b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/factory/context/AgentRegisterContext.kt index 48c007b1..0c22c4bb 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/factory/context/AgentRegisterContext.kt +++ b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/factory/context/AgentRegisterContext.kt @@ -5,15 +5,22 @@ import org.reflections.scanners.Scanners import org.reflections.util.ConfigurationBuilder import java.lang.reflect.Method import java.net.URL +import java.net.URLClassLoader class AgentRegisterContext(urls: List) { + + private val classLoader = URLClassLoader( + urls.toTypedArray(), + Thread.currentThread().contextClassLoader + ) + val reflections: Reflections = Reflections( ConfigurationBuilder().setScanners( Scanners.FieldsAnnotated, Scanners.SubTypes, Scanners.MethodsAnnotated, Scanners.TypesAnnotated - ).setUrls(urls) + ).setUrls(urls).addClassLoaders(classLoader) ) val capabilityFactoryContext: CapabilityFactoryContext = CapabilityFactoryContext()