【发布时间】:2012-12-13 23:23:44
【问题描述】:
我想做一个可以动态加载插件的应用程序,但是我在网上没有找到任何文献。
困难的是:我事先不知道名字。
例如我有一个插件界面:
public interface Plugin {
public static Plugin newPlugin();
public void executePlugin(String args[]);
}
让jar文件中实现Plugin的每一个类都在一个列表中实例化:
Method method = classToLoad.getMethod ("newPlugin");
mylist.add(method.invoke(null);
- 第一个问题是,我不能在接口中使用 静态 方法。
- 第二个问题是,我不知道如何找到所有实现接口的类
感谢您的帮助。
【问题讨论】:
-
是否有一个配置文件指定加载哪些插件来解决您的问题?
-
嗨 Mac,在我的情况下,我想避免使用配置文件,只要文件夹中存在 jar 尝试加载它。谢谢。
标签: java plugins runtime classpath