【发布时间】:2011-10-19 11:16:56
【问题描述】:
我有一个包含 30 个左右类的 jar 文件。我想要的是,在 main 方法的开头,我从这个 jar 中调用一个类,该类使用 Java 的反射功能获取对 jar 中每个类的 Class 引用。我的最终目标是执行某种操作,查询为每个类定义的变量。基本上我正在寻找类似的东西。有没有一种使用标准反射 API 的简单方法来做到这一点,否则制作一个可行的解决方案会很麻烦?
List l = Reflection.getAllClasses();
String var;
foreach(Class c : l) {
var = c.getField("fieldname");
doSomething(var);
}
编辑:
明确一点:代码将从被检查的 jar 中执行。
【问题讨论】:
-
为什么不在 Jar 文件中包含一个类列表(例如使用
Properties文件)? +1 说明最终目标。 -
@AndrewThompson 因为我不想承担这个管理负担——总是记住文件列表。
-
编写一个类来准备列表作为构建过程的一部分将是微不足道的。一点负担都没有。
-
@LordDoskias 你有没有用不在类路径上的 jar 来运行它?你能发布你的解决方案吗?
标签: java reflection jar introspection