Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从org.eclipse.jdt.core.IClassFile获取底层类_Java_Eclipse_Reflection_Eclipse Jdt - Fatal编程技术网

Java 从org.eclipse.jdt.core.IClassFile获取底层类

Java 从org.eclipse.jdt.core.IClassFile获取底层类,java,eclipse,reflection,eclipse-jdt,Java,Eclipse,Reflection,Eclipse Jdt,我有一个org.eclipse.jdt.core.IClassFile的列表,获取实际类文件(用于反射)的最简单方法是什么 如果是jar文件,我看到的选项是使用JarFile (我可以从IClassFile父母那里获得jar和包) 然后迭代JarFile中的所有条目,然后使用类加载器加载该类 但是也许有更好的方法…你可以从IClassFile中获得大量信息,除非你真的想运行代码,你可能不需要实际的类。我需要得到这个字段的列表,我相信我能得到。但在某些情况下,我还需要提取构造函数的源代码(在反编译

我有一个org.eclipse.jdt.core.IClassFile的列表,获取实际类文件(用于反射)的最简单方法是什么

如果是jar文件,我看到的选项是使用
JarFile

(我可以从IClassFile父母那里获得jar和包) 然后迭代
JarFile
中的所有条目,然后使用类加载器加载该类


但是也许有更好的方法…

你可以从
IClassFile
中获得大量信息,除非你真的想运行代码,你可能不需要实际的类。我需要得到这个字段的列表,我相信我能得到。但在某些情况下,我还需要提取构造函数的源代码(在反编译之后),如果您真的想要反编译,那么您需要一个反编译器(JDT不是)。相反,JDT允许您导航到库的源附件,这可能会更好。