扫描指定包下的类(包括jar文件里的类)

一个实用的处理类,主要实现的功能是:自动扫描指定包下的所有类,可以设置是否扫描内部类、是否递归扫描子包、自定义过滤规则等等,下面介绍基本用法及其代码:

一、方法说明

二、参数说明

  • boolean excludeInner:该参数表示是否排除内部类,true->是 false->否,默认=true
  • boolean checkInOrEx:该参数表示过滤规则适用情况,true—>搜索符合规则的 false->排除符合规则的,默认=true
  • List<String> classFilters:自定义过滤规则,如果是null或者空,即全部符合不过滤,默认为null。过滤规则可以自定义为:Xyz或Xyz*或*Xyz或*Xyz*等类似的格式
  • Set<Class<?>> getPackageAllClasses(String basePackage,boolean recursive);参数 basePackage:标识扫描的基包 ; 参数:recursive:标识是否递归扫描子包

三、处理类代码
ClassPathScanHandler.java

测试运行结果如下:

原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]

本文链接地址: http://www.micmiu.com/lang/java/classpath-scan/

发表评论?

2 条评论。

  1. 😛 不错,不过getPackageAllClasses方法判断protocol的时候,没有判断vfs,因为jboss as 7 里面使用的vfs。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">