我有一个需要“插件”接口的 Java 项目。我正在考虑加载某种具有默认方法的类文件,例如initialize()
,shutdown()
在将类加载到应用程序后将调用该类文件。这是这样做的方法吗?我将如何解决这个问题?
问问题
367 次
5 回答
1
如果你看一些更复杂的东西,你可以试试:http: //jpf.sourceforge.net。
... JPF 提供了一个动态发现和加载“插件”的运行时引擎。插件是一个结构化组件,它使用“清单”向 JPF 描述自己。...
于 2009-05-18T20:45:07.237 回答
1
首先,你需要一个ClassLoader
; 您可以使用 获取当前的getClass().getClassLoader()
,但是您的插件类必须在类路径中。您可能想要创建一个自定义类加载器来搜索您的插件目录。
一旦你得到了ClassLoader
,你就可以用它来加载一个类。这给了你一个Class
对象;然后,您可以使用反射来调用该initialize()
方法(如果存在)。
于 2009-05-18T19:31:42.860 回答
0
另一个实现插件的好方法是java.util.Serviceloader。看看javadocs,他们解释了原理。
于 2009-05-18T19:34:15.477 回答
-1
public class SomeClass {
static {
System.out.println("Being called with the class is loaded");
initialize();
}
static void initialize(){}
}
那是你的问题吗?
于 2009-05-18T19:28:32.523 回答