【发布时间】:2014-01-16 16:56:16
【问题描述】:
我想问一下 UrlClassLoaders。我编写了一个运行良好的主 .jar 文件。现在我想让它能够从它的一个文件夹中加载插件。我一直写到它在文件夹中找到 .jar 文件,可以在其中列出它们的类(它们的名称、路径)。问题是当我让他找到那个类(创建它的实例)时,他们不会找到它从我的主 jar 文件继承的类,如下所示:
IN MAIN JAR:
-class Expansion { ... }
In a plugin jar:
-class ExpansionA extends MainJar.Expansion { ... }
所以当我要求 UrlClassLoader 解析“ExpansionA”类时,它会在插件 jar 中搜索“Expansion”类而不是 MainJar,然后插件 jar 中没有“Expansion”类,因为它作为资源库从 MainJar 继承...并在 defineClass 方法时抛出 NoDefFoundForClassError 异常。我怎样才能告诉他也检查 MainJar 中的课程? (它不仅是关于 1 个类,而且我希望插件能够从 MainJar 继承任何类)。你能帮帮我吗?
【问题讨论】:
标签: java inheritance plugins classloader urlclassloader