in src/advisor/tools/graviton-ready-java/src/main/java/com/amazonaws/labs/GravitonReadyAssessor/JarNativeInfo.java [168:188]
private Class<?> loadClass(@NonNull String name, @NonNull Path jarPath) {
ClassLoader cl;
Class<?> cls = null;
try {
cl = cache.computeIfAbsent(jarPath, k -> {
try {
URL[] urls = {new URL("jar:file:" + k + "!/")};
return new URLClassLoader(urls);
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
}
});
assert cl != null;
cls = cl.loadClass(name);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoClassDefFoundError|IllegalAccessError ignored) {
}
return cls;
}