diff --git a/src/main/java/org/ssssssss/script/MagicResourceLoader.java b/src/main/java/org/ssssssss/script/MagicResourceLoader.java index 239ad09f40b3bf608996bda23e04fef63debecdd..0257c18fbb2b2f1746abad569c8a29ac0dc5078b 100644 --- a/src/main/java/org/ssssssss/script/MagicResourceLoader.java +++ b/src/main/java/org/ssssssss/script/MagicResourceLoader.java @@ -122,6 +122,16 @@ public class MagicResourceLoader { return classLoader.apply(className); } + /** + * 通过类全名获取类 + * + * @param className 类全限定名 + */ + public static Class forName(String className) throws ClassNotFoundException{ + Object obj = classLoader.apply(className); + return obj instanceof Class ? (Class)obj : obj.getClass(); + } + /** * 获取可用的模块列表 */ diff --git a/src/main/java/org/ssssssss/script/MagicScriptEngine.java b/src/main/java/org/ssssssss/script/MagicScriptEngine.java index 3cfd5745a3d3a4c78d3d40f3383199064f1fcaf5..83225b5aa09e08846edf08e88271be7fec673d9f 100644 --- a/src/main/java/org/ssssssss/script/MagicScriptEngine.java +++ b/src/main/java/org/ssssssss/script/MagicScriptEngine.java @@ -118,7 +118,7 @@ public class MagicScriptEngine extends AbstractScriptEngine implements ScriptEng public static Set getScriptClass(String className) { try { - return new LinkedHashSet<>(getScriptClass(Class.forName(className))); + return new LinkedHashSet<>(getScriptClass(MagicResourceLoader.forName(className))); } catch (ClassNotFoundException e) { return Collections.emptySet(); }