in meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveRunMojo.java [479:505]
private Supplier<ClassLoader> createClassLoader(final ClassLoader parent) {
final List<URL> urls = new ArrayList<>();
urls.addAll(project.getArtifacts().stream()
.filter(a -> !((applicationScopes == null && !(Artifact.SCOPE_COMPILE.equals(a.getScope()) || Artifact.SCOPE_RUNTIME.equals(a.getScope())))
|| (applicationScopes != null && !applicationScopes.contains(a.getScope()))))
.map(f -> {
try {
return f.getFile().toURI().toURL();
} catch (final MalformedURLException e) {
throw new IllegalArgumentException(e);
}
})
.collect(toList()));
urls.addAll(ofNullable(modules).orElse(Collections.emptyList()).stream().map(f -> {
try {
return f.toURI().toURL();
} catch (final MalformedURLException e) {
throw new IllegalArgumentException(e);
}
}).collect(toList()));
return urls.isEmpty() ? () -> parent : () -> new URLClassLoader(urls.toArray(new URL[0]), parent) {
@Override
public boolean equals(final Object obj) {
return super.equals(obj) || parent.equals(obj);
}
};
}