Reflectionsライブラリを使用して、特定のファイル拡張子を持つすべてのリソースを1つのパッケージに正確に配置する方法を教えてください。
私はこのコードで試しました:
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setUrls(...);
cb.setScanners(new ResourcesScanner());
FilterBuilder fb = new FilterBuilder();
fb.include(FilterBuilder.prefix("org.p1")); //filtering resources in package "org.p1"
cb.filterInputsBy(fb);
Reflections reflections = new Reflections(cb);
Pattern pattern = Pattern.compile(".*\\.xxx");
Set<String> set = reflections.getResources(pattern); //resources having as extension "xxx" and located in package "org.p1"
ただし、これは、パッケージ「org.p1」およびその中のサブパッケージ(「org.p1.p2」など)に含まれる拡張子「xxx」のすべてのリソースに応答します。
「org.p1」にあるリソースのみに応答し、そのサブパッケージ(存在する場合)を無視するようにReflectionsを構成できますか?