由于项目需要我想获得某包下所有的类(包括该包的所有子包),从网上找了找没有什么能用的,即使找到了写的也不怎样效率低下。索性就自己写吧正好也锻煉锻炼写代码的功底。特此分享出来希望能帮到大家......
-
package 里的命名空间,它只是为了区分、汇总、唯一标识不同的类而提出的概念跟文件夾目录层次结构是两回事,我们只是习惯上用文件夹目录来展示package而已但package却不一定非要用过文件夹目录来展示。
我们可以用下面这段代码來进一步说明这个问题
由于我们并不确定jar包生成时采用的哪种方式如果采用默认生成jar包的方式,那我们通过Thread.currentThread().getContextClassLoader().getResource()是获取不到的因此我增加叻从所有jar包中搜索提供的包域名,这样功能就完善了很多
那么就此关于“如何遍历包中所有类”就结束了,PackageUtil这个类的功能还有些少不排除日后进一步完善的可能,如果大家关于这个util有什么新的需求或者建议随时欢迎大家提出。发现bug的也请及时通知我以便改进。