我想制作一个命令行实用程序,它根据外部类文件的反射执行一些操作。我将传递 .class 文件或源文件的路径(可能是通配符)。在执行过程中的某个时刻,我需要获取每个类的 Class 对象,而事先不知道它们的包名称。要做到这一点需要什么?我可以看什么来开始?我还可以访问这些类的源文件。
这是在 java 1.6 中。
另外,使用 java 编译器 API 从源代码获取类对象会更容易吗?
最佳答案
您需要创建一个 ClassLoader
并使用defineClass
创建 Class
从你读过的文件中。 Add dynamic Java code to your application阅读此类内容很有趣,它甚至描述了源代码的编译。
关于java - 如何从文件系统加载任意 java .class 文件并对其进行反射(reflect)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3103634/