我正在尝试读取一个Jar文件,其中包含很少的类并且在其中定义了方法。我希望从所有类中获取所有声明的方法,而无需加载单个类。有可能吗?
以下是我如何加载jar文件和方法(截至目前使用类名)。
File urlclasspath = new File(newJarPath);
URL urlarray[] = new URL[1];
urlarray[0] = urlclasspath.toURI().toURL();
ClassLoader loader = new ClassLoader(urlarray);
Class<?> myclass = loader
.loadClass($classname$);
Object obj = myclass.newInstance();
Method add = myclass.getMethod("add", new Class[] { Integer.TYPE,
Integer.TYPE });
add.invoke(obj,
new Object[] { new Integer(var1), new Integer(var2) });
if (obj == null) {
System.out
.println("FAIL: Could not create an instance of the loaded class");
}
提前致谢
答案 0 :(得分:1)
Class是包含in的所有方法的容器。因此,为了到达方法,您必须首先加载该类。