reflections icon indicating copy to clipboard operation
reflections copied to clipboard

excludePackage excludes only top level packages

Open dawrut opened this issue 8 years ago • 1 comments

Packages exclusion works only for top-level packages.

I attach code snippet for reproduction below. It shows I cannot exclude package "java.awt", however, when excluding "java" package, "java.awt" items are not listed.

v0.9.10

 import java.util

 import org.reflections.Reflections
 import org.reflections.scanners.{MethodParameterScanner, Scanner, SubTypesScanner, TypeElementsScanner}
 import org.reflections.util.FilterBuilder

 val scanners = new util.ArrayList[Scanner]()
  scanners.add(new SubTypesScanner)
  scanners.add(new TypeElementsScanner)
  scanners.add(new MethodParameterScanner)

  val reflections = new Reflections(
    scanners,
    new FilterBuilder()
      .excludePackage("com")
      .excludePackage("java.awt")
      .excludePackage("javafx")
      .excludePackage("sun")
      .excludePackage("javax")
      .excludePackage("jdk")
  )

  import collection.JavaConversions._

  reflections getMethodsReturn classOf[Number] foreach println

dawrut avatar Apr 10 '16 15:04 dawrut

I have also been affected by this issue.

My workaround is to exclude both "com.mypackage" and "com/mypackage". Excluding just one of them does not work.

mkjensen avatar Feb 19 '18 11:02 mkjensen