public static void addURL(URL url) throws IOException {
        URLClassLoader systemClassLoader = (URLClassLoader) ClassLoader.getSystemClassLoader();
        Class<?> systemClassLoaderClass = URLClassLoader.class;

        try {
            Method method = systemClassLoaderClass.getDeclaredMethod("addURL", parameters);
            method.setAccessible(true);
            method.invoke(systemClassLoader, new Object[]{ url });
        } catch (Throwable throwable){
            throwable.printStackTrace();
            throw new IOException("Couldn't add URL " + url.toString() + " to the System Classloader");
        }
    }