我想制作一个命令行实用程序,它根据外部类文件的反射执行一些操作。我将传递 .class 文件或源文件的路径(可能是通配符)。在执行过程中的某个时刻,我需要获取每个类的 Class 对象,而事先不知道它们的包名称。要做到这一点需要什么?我可以看什么来开始?我还可以访问这些类的源文件。
这是java 1.6中的。
另外,使用java编译器API从源获取类对象会更容易吗?
您将需要创建一个ClassLoader http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html并使用defineClass http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html#defineClass%28java.lang.String,%20byte%5B%5D,%20int,%20int%29创建一个Class http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html从你读过的文件中。将动态 Java 代码添加到您的应用程序 http://www.javaworld.com/javaworld/jw-06-2006/jw-0612-dynamic.html阅读此类内容很有趣,它甚至描述了来源的汇编。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)