我的应用程序由几个JAR文件组成。我想迭代所有JAR文件并找到所有子类特定类的类,以便我可以让它们的静态初始化器运行。
我查看了Java.lang.ClassLoader的Javadocs,但找不到任何方法可以做到这一点。
我正在尝试实现“产品交易者”设计模式(http://www.ubilab.com/publications/print_versions/pdf/plop-96-producttrader.pdf),使用在抽象超类中进行“自注册”的类。超类将具有一个HashMap,该HashMap将子类提供的服务和处理该服务的java.lang.Class文件进行映射。
问题是类不会运行它的静态初始化器直到它被加载。如果我可以迭代所有的子类,我可以强制每个子类加载并运行它的初始化器。
谢谢,拉尔夫