不久前,我整理了一个程序包,可以做您想做的事情,以及更多。(我正在编写的实用程序需要它)。它使用ASM库。您可以使用反射,但事实证明ASM的性能更好。
我将程序包放在网站上的开源库中。该库位于:http : //software.clapper.org/javautil/。您要从 with ClassFinder类开始。
我为之编写的实用程序是我每天仍在使用的RSS阅读器,因此该代码的确易于使用。我使用ClassFinder在RSS阅读器中支持插件API。启动时,它将在几个目录树中查找jar和类文件,这些jar和类文件包含实现特定接口的类。它比您预期的要快得多。
该库是BSD许可的,因此您可以安全地将其与代码捆绑在一起。源可用。
如果这对您有用,请自助。
更新:如果您使用的是Scala,则可能会发现此库更加适合Scala。



