in src/main/java/com/epam/gmp/service/GroovyScriptEngineService.java [116:147]
protected ClassLoader buildClassloader(org.springframework.core.io.Resource scriptPath) {
ClassLoader scriptClassLoader = null;
org.springframework.core.io.Resource libPath;
try {
libPath = scriptPath.createRelative(LIB_FOLDER);
if (libPath.exists()) {
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
org.springframework.core.io.Resource[] jarResources = resolver.getResources(libPath.getURL() + "/*.jar");
List<URL> urls = new ArrayList<>();
for (org.springframework.core.io.Resource resource : jarResources) {
try {
urls.add(resource.getURL());
} catch (IOException ex) {
if (logger.isWarnEnabled()) {
logger.warn("Unable to resolve url for " + resource, ex);
}
}
}
URL[] aUrls = new URL[urls.size()];
scriptClassLoader = new ScriptClassloader(urls.toArray(aUrls), Thread.currentThread().getContextClassLoader());
} else {
scriptClassLoader = new ScriptClassloader(new URL[0], Thread.currentThread().getContextClassLoader());
}
} catch (IOException e) {
if (logger.isErrorEnabled()) {
logger.error("unable to create relative LIB path.");
}
}
return scriptClassLoader;
}