Classloader не загружает флягу во время выполнения?

Начнем с того, что все это работало, и внезапно оно просто прекратилось, и я действительно понятия не имею, сделал ли я что-то с этим или есть проблема где-то еще.

Мой загрузчик классов должен загрузить файл JAR во время выполнения, но, очевидно, это не так.

String url   = "https://" + serverHost + "/" + getJarPath() + "se.jar";
log.info("http url is: " +url);
String https = url.replaceAll("\\s","");

URL httpsURL = new URL(https);  
log.info("https url is: " + httpsURL);

URLConnection con = httpsURL.openConnection();              
addURL(con.getURL());



private void addURL(URL https) throws IOException { 
        Class<?>[] parameters = new Class[]{URL.class}; 
        // IMPORTANT: MUST use the webapp classloader - so derived extension classes can resolve their base classes
        ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();        
        // cast to a URL class loader so we can add additional JAR(s) to the search path
        URLClassLoader webappClassLoader = (URLClassLoader)contextClassLoader;  
        Class<?> sysclass = URLClassLoader.class;

        Method method;
        try {
            method = sysclass.getDeclaredMethod("addURL", parameters);
            method.setAccessible(true);
            method.invoke(webappClassLoader, new Object[]{ https });
        } catch (NoSuchMethodException | SecurityException e) {
            log.log(Level.WARNING, "FATAL Exception", e);
        } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
            log.log(Level.WARNING, "FATAL Exception", e);
        }
    }

Я не могу раскрыть полный путь URL-адреса, но могу подтвердить, что на 101% находится банка, в котором указывается URL-адрес строки, но я получаю исключение DefNotFoundClassException.

0 ответов

Другие вопросы по тегам