diff --git a/src/main/java/com/github/artlibs/autotrace4j/support/ClassUtils.java b/src/main/java/com/github/artlibs/autotrace4j/support/ClassUtils.java index 82dfa2c..32637b5 100644 --- a/src/main/java/com/github/artlibs/autotrace4j/support/ClassUtils.java +++ b/src/main/java/com/github/artlibs/autotrace4j/support/ClassUtils.java @@ -81,9 +81,16 @@ public static void walkClassFiles( } else { packagePath = Paths.get(packageDirUrl.toURI()); } - try (DirectoryStream paths = Files.newDirectoryStream(packagePath, "*.class")) { + try (DirectoryStream paths = Files.newDirectoryStream(packagePath)) { for (Path path : paths) { - walker.accept(path, buildCanonicalName(packagePrefix, path.getFileName().toString())); + if (Files.isDirectory(path)) { + walkClassFiles(walker, packagePrefix + "." + path.getFileName().toString()); + continue; + } + if (path.getFileSystem().getPathMatcher("glob:*.class") + .matches(path.getFileName())) { + walker.accept(path, buildCanonicalName(packagePrefix, path.getFileName().toString())); + } } } } finally {