我有一个Java项目,它需要一个"addon“接口。我在考虑加载某种具有默认方法的类文件,如initialize()和shutdown(),这些方法在类加载到应用程序后将被调用。这是做这件事的方法吗?我该如何处理这个问题?
发布于 2009-05-18 19:30:35
看一下Class类,特别是forName方法,它允许您按名称引用类。路径中的任何类都可以像这样加载。我不知道是否有可能重新加载。
在任何情况下,您想要动态加载的每个类都必须实现您的自定义AddOn接口,从而实现initialize和shutdown。
发布于 2009-05-18 19:31:43
首先,您需要一个ClassLoader;您可以使用getClass().getClassLoader()获取当前的插件,但是您的插件类必须在类路径中。您可能希望创建一个自定义的类加载器来搜索您的addon目录。
一旦获得了ClassLoader,就可以将其用于load a class。这将为您提供一个Class对象;然后,您可以使用反射来调用initialize()方法(如果存在)。
发布于 2009-05-18 20:45:07
如果你看一些更复杂的东西,你可以试试:http://jpf.sourceforge.net。
..。JPF提供了一个动态发现和加载“插件”的运行时引擎。.A插件是一个结构化组件,它使用“清单”向JPF描述自己。..。
https://stackoverflow.com/questions/879336
复制相似问题