From 1f7f4f36416ed3c3dbad15550a6e4ff40d66a950 Mon Sep 17 00:00:00 2001 From: jipengfei01 Date: Tue, 13 Jun 2023 15:28:28 +0800 Subject: [PATCH] fixed null or could not use param java.net.URLClassLoader@64d2d351 error --- .../org/reflections/util/ConfigurationBuilder.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/reflections/util/ConfigurationBuilder.java b/src/main/java/org/reflections/util/ConfigurationBuilder.java index 2b455a28..9e4d6ab0 100644 --- a/src/main/java/org/reflections/util/ConfigurationBuilder.java +++ b/src/main/java/org/reflections/util/ConfigurationBuilder.java @@ -70,9 +70,12 @@ public static ConfigurationBuilder build(Object... params) { // flatten List parameters = new ArrayList<>(); for (Object param : params) { - if (param.getClass().isArray()) { for (Object p : (Object[]) param) parameters.add(p); } - else if (param instanceof Iterable) { for (Object p : (Iterable) param) parameters.add(p); } - else parameters.add(param); + if (param != null) { + if (param.getClass().isArray()) { for (Object p : (Object[]) param) parameters.add(p); } + else if (param instanceof Iterable) { for (Object p : (Iterable) param) parameters.add(p); } + else parameters.add(param); + } + } ClassLoader[] loaders = Stream.of(params).filter(p -> p instanceof ClassLoader).distinct().toArray(ClassLoader[]::new); @@ -97,7 +100,8 @@ public static ConfigurationBuilder build(Object... params) { catch (Exception e) { throw new RuntimeException(e); } } else if (param instanceof Predicate) { builder.filterInputsBy((Predicate) param); - } else throw new ReflectionsException("could not use param '" + param + "'"); + } else if (param instanceof ClassLoader) { /* already taken care */ } + else throw new ReflectionsException("could not use param '" + param + "'"); } if (builder.getUrls().isEmpty()) {